void setup() {
Wire.begin(16,17);
Serial.begin(115200);
Serial.println("\nI2C Scanner");
}
Si vous voulez affecter d'autre port GPIO au bus I2C, modifier la ligne de code surligné.
Par exemple, pour affecté les ports 16 et 17, GPIO 16 pour SDA et GPIO 17 pour SCL, modifié la ligne Wire.begin() en Wire.begin(16,17).
/*
Scan I2C pour Esp32
http://nano-ordinateur-info.fr/
*/
#include <Wire.h>
void setup() {
Wire.begin();
Serial.begin(115200);
Serial.println("\nI2C Scanner");
}
void loop() {
byte error, address;
int nDevices;
Serial.println("Scan en cours...");
nDevices = 0;
for(address = 1; address < 127; address++ ) {
Wire.beginTransmission(address);
error = Wire.endTransmission();
if (error == 0) {
Serial.print("Périphérique I2C trouvé à l'adresse 0x");
if (address<16) {
Serial.print("0");
}
Serial.println(address,HEX);
nDevices++;
}
else if (error==4) {
Serial.print("Erreur inconnue à l'adresse 0x");
if (address<16) {
Serial.print("0");
}
Serial.println(address,HEX);
}
}
if (nDevices == 0) {
Serial.println("Pas de périphérique I2C trouvé");
}
else {
Serial.println("Terminé");
}
delay(5000);
}