/*=================================================================
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);
}