/*================================================================= Ce sketch est un scanner I2C: il essaye de communiquer avec toutes les adresses I2C possibles et affiche celle(s) qui réponde(nt). BRANCHEMENT * Pin SCL du convertisseur I2C -----------> GPIO4 du NodeMcu * Pin SDA du convertisseur I2C -----------> GPIO2 du NodeMcu ================================================================ */ #include <Wire.h> void setup() { Wire.begin(2,4); Serial.begin(9600); Serial.println("\nI2C Scanner"); } void loop() { byte error, address; int nDevices; Serial.println("Recherche en cours..."); nDevices = 0; for(address = 1; address < 127; address++ ) { Wire.beginTransmission(address); error = Wire.endTransmission(); if (error == 0) { Serial.print("Equiment I2C trouve a l'addresse 0x"); if (address<16) Serial.print("0"); Serial.print(address,HEX); Serial.println(" !"); nDevices++; } else if (error==4) { Serial.print("Erreur inconnue a l'address 0x"); if (address<16) Serial.print("0"); Serial.println(address,HEX); } } if (nDevices == 0) Serial.println("Aucun Equipement I2C trouve\n"); else Serial.println("Fini\n"); delay(5000); }