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: -- -- -- -- -- -- -- --