Utiliser le bus I2C
- Enlever I2C de la blacklist si il y est. Si le fichier
raspi-blacklist.conf est vide, ne rien faire.
pi@raspberrypi3 ~ $ sudo cp /etc/modprobe.d/raspi-blacklist.conf /etc/modprobe.d/raspi-blacklist.conf.origin
pi@raspberrypi3 ~ $ sudo vi /etc/modprobe.d/raspi-blacklist.conf
pi@raspberrypi3 ~ $ cat /etc/modprobe.d/raspi-blacklist.conf
# blacklist spi and i2c by default (many users don't need them)
blacklist spi-bcm2708
#blacklist i2c-bcm2708
- Charger le module I2C au démarrage
pi@raspberrypi3 ~ $ sudo cp /etc/modules /etc/modules.origin
pi@raspberrypi3 ~ $ sudo vi /etc/modules
pi@raspberrypi3 ~ $ cat /etc/modules
snd-bcm2835
w1-therm
w1-gpio pullup=1
i2c-dev
- Rebooter et vérifier les modules chargés en mémoire
pi@raspberrypi3 ~ $ sudo reboot
pi@raspberrypi3 ~ $ lsmod
Module Size Used by
i2c_dev 5557 0
..
i2c_bcm2708 3997 0
- Vérifier la présence de l'I2C
pi@raspberrypi3 ~ $ ls -l /dev/i2*
crw------- 1 root root 89, 0 janv. 8 13:16 /dev/i2c-0
crw------- 1 root root 89, 1 janv. 8 13:16 /dev/i2c-1
- Installer les outils I2C (optionnel)
pi@raspberrypi6 ~ $ sudo apt-get install i2c-tools
pi@raspberrypi6 ~ $ ls /usr/sbin/ | grep i2c
i2cdetect
i2cdump
i2cget
i2cset
- Autoriser l'utilisateur pi à accéder au bus I2C
pi@raspberrypi6 ~ $ sudo adduser pi i2c
- On doit voir apparaître les adresses des esclaves I2C
pi@raspberrypi6 ~ $ i2cdetect -y 1
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- -- -- -- -- 0e --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: 60 -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --