//I2C scanner
// author : Patrick Luyts
// date: 18/11/2023
//*************************************************
// initialisation
#include <Wire.h>
#define Led_Pin_Groen 19
#define Led_Pin_Rood 18
//************************************************
//setup
void setup() {
Wire.begin();
Serial.begin(115200);
Serial.println("\nI2C Scanner");
pinMode(Led_Pin_Groen, OUTPUT);
pinMode(Led_Pin_Rood, OUTPUT);
}
void loop()
{
byte error, address;
int nDevices;
Serial.println("Scanning...");
nDevices = 0;
for (address = 1; address < 127; address++ )
{
Wire.beginTransmission(address);
error = Wire.endTransmission();
if (error == 0)
{
Serial.print("I2C device found at address 0x");
if (address < 16)
{
Serial.print("0");
digitalWrite(Led_Pin_Groen, HIGH);
delay(1000);
digitalWrite(Led_Pin_Groen, LOW);
delay(1000);
}
Serial.println(address, HEX);
nDevices++;
}
else if (error == 4)
{
Serial.print("Unknow error at address 0x");
if (address < 16)
{
Serial.print("0");
}
Serial.println(address, HEX);
}
}
if (nDevices == 0)
{
Serial.println("No I2C devices found\n");
digitalWrite(Led_Pin_Rood, HIGH);
delay(1000);
digitalWrite(Led_Pin_Rood, LOW);
delay(1000);
}
else
{
Serial.println("done\n");
}
delay(5000);
}