56 lines
1008 B
C++
56 lines
1008 B
C++
/*********
|
|
Rui Santos
|
|
Complete project details at https://randomnerdtutorials.com
|
|
*********/
|
|
#include <Arduino.h>
|
|
#include <Wire.h>
|
|
#include <SPI.h>
|
|
|
|
void setup()
|
|
{
|
|
Wire.begin();
|
|
Serial.begin(9600);
|
|
Serial.println("\nI2C Scanner");
|
|
}
|
|
|
|
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");
|
|
}
|
|
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");
|
|
}
|
|
else
|
|
{
|
|
Serial.println("done\n");
|
|
}
|
|
delay(5000);
|
|
}
|