Scanner I2C
Ce programme détecte si un périphérique en I2C et connecté à l’Arduino et affiche sur le moniteur série l’adresse de ce périphérique. Ceci est bien utile lors de l’achat d’un périphérique en I2C dont nous ne connaissons pas l’adresse.
Sketch scanner-i2c.ino
[pastacode lang= »markup » manual= »%2F%2F%20i2c_scanner%2F%0A%2F%2F*%20Ce%20sketch%20est%20un%20scanner%20I2C%3A%20il%20essaye%20de%20communiquer%20avec%20toutes%20les%20adresses%20I2C%20possibles%20et%20affiche%20celle(s)%20qui%20r%C3%A9ponde(nt).%20*%2F%2F%0A%23include%20%3CWire.h%3E%0Avoid%20setup()%0A%7B%0AWire.begin()%3B%0ASerial.begin(9600)%3B%0ASerial.println(%22%5CnI2C%20Scanner%22)%3B%0A%7D%0Avoid%20loop()%0A%7B%0Abyte%20error%2C%20address%3B%0Aint%20nDevices%3B%0ASerial.println(%22Scanning…%22)%3B%0AnDevices%20%3D%200%3B%0Afor(address%20%3D%201%3B%20address%20%3C%20127%3B%20address%2B%2B%20)%0A%7B%0A%2F%2F%20The%20i2c_scanner%20uses%20the%20return%20value%20of%0A%2F%2F%20the%20Write.endTransmisstion%20to%20see%20if%0A%2F%2F%20a%20device%20did%20acknowledge%20to%20the%20address.%0AWire.beginTransmission(address)%3B%0Aerror%20%3D%20Wire.endTransmission()%3B%0Aif%20(error%20%3D%3D%200)%0A%7B%0ASerial.print(%22I2C%20device%20found%20at%20address%200x%22)%3B%0Aif%20(address%3C16)%0ASerial.print(%220%22)%3B%0ASerial.print(address%2CHEX)%3B%0ASerial.println(%22%20!%22)%3B%0AnDevices%2B%2B%3B%0A%7D%0Aelse%20if%20(error%3D%3D4)%0A%7B%0ASerial.print(%22Unknow%20error%20at%20address%200x%22)%3B%0Aif%20(address%3C16)%0ASerial.print(%220%22)%3B%0ASerial.println(address%2CHEX)%3B%0A%7D%0A%7D%0Aif%20(nDevices%20%3D%3D%200)%0ASerial.println(%22No%20I2C%20devices%20found%5Cn%22)%3B%0Aelse%0ASerial.println(%22done%5Cn%22)%3B%0Adelay(5000)%3B%20%2F%2F%20wait%205%20seconds%20for%20next%20scan%0A%7D » message= »Scanner I2C.ino » highlight= » » provider= »manual »/]
Ouvrir l’IDE Arduino, puis nouvelle page. Faire un copier/coller du programme, puis faire une compilation, si compilation OK faire un téléversement du programme sur l’Arduino, le résultat des adresses détectées sur le ou les module(s) raccordés sur les broches A4 et A5 de l’Arduino sont affichées dans le moniteur série de l’IDE.