Bagaimana saya bisa berbicara dengan sensor digital melalui antarmuka I²C?
Perangkat keras:
Pin mana pada GPIO Raspberry Pi yang dapat saya gunakan?
Perangkat lunak:
Pustaka I²C apa yang tersedia?
Ada banyak informasi tentang GPi RPi di sini: http://elinux.org/Rpi_Low-level_peripherals
Menurutnya, Anda dapat memprogram pin GPIO apa pun untuk I²C, tetapi:
Pin 3 (SDA0) dan Pin 5 (SCL0) ditetapkan untuk digunakan sebagai antarmuka I²C. Jadi ada 1,8 kilohm yang menarik resistor di papan untuk pin ini.
Halaman wiki itu juga memiliki beberapa contoh kode GPIO tingkat rendah untuk berbagai bahasa yang harus Anda mulai. Jika Anda memerlukan penyegaran tentang apa sebenarnya I²C, inilah yang juga memperhitungkan RPi.
Untuk pengendalian I²C tertentu, pustaka python ini mungkin bermanfaat, dibahas dalam posting blog ini , yang mencakup contoh kode.
Banyak diskusi terjadi tentang ini. Inilah yang ditunjukkan oleh bacaan dan kekacauan saya kepada saya:
sumber
/etc/modprobe.d/raspi-blacklist.conf
dan mengomentari entri untuki2c-bcm2708
; lalu edit/etc/modules
dan tambahkani2c-dev
; lalu reboot. Anda sekarang harus memiliki/dev/i2c-0
file khusus, yang sangat mudah digunakan.Inilah beberapa contoh yang telah saya lakukan
sumber
Perangkat keras:
Seperti disebutkan oleh Tapio, perangkat keras didokumentasikan dengan baik di http://elinux.org/Rpi_Low-level_peripherals
Perangkat lunak:
Ada header i2c-dev di ruang pengguna Linux (
#include <linux/i2c-dev.h>
). Selain itu, Anda memerlukan karakter yang dapat dibaca. Ini dapat dilakukan dengan memuat modul yang benar.i2c_bcm2708
untuk pengemudi tingkat rendah dani2c-dev
untuk menghasilkan tipuan karakter untuk bus. Menerapkan ...untuk memuat mereka dengan cepat. Menerapkan ...
dan unblacklist
i2c_bcm2708
di/etc/modprobe.d/raspi-blacklist.conf
untuk membuat/dev/i2c-0
dan/dev/i2c-1
muncul secara permanen.Mulai sekarang Anda dapat mengikuti petunjuk tentang cara menggunakan I²C del maestro sendiri.
Saya lebih suka metode ini daripada yang lain, karena ini platformagnostik. Anda dapat menggunakan
linux/i2c-dev.h
dengan perangkat lain juga, selama ada driver I²C tingkat rendah.Salam
sumber