55 lines
1.3 KiB
C++
55 lines
1.3 KiB
C++
#include <Arduino.h>
|
|
|
|
// I2C Scanner
|
|
// Written by Nick Gammon
|
|
// Date: 20th April 2011
|
|
/*#undef PIN_WIRE_SDA
|
|
#undef PIN_WIRE_SCL
|
|
#define PIN_WIRE_SCL D1
|
|
#define PIN_WIRE_SDA D2*/
|
|
#include <Wire.h>
|
|
|
|
void setup() {
|
|
Serial.begin (9600);
|
|
|
|
// Leonardo: wait for serial port to connect
|
|
while (!Serial)
|
|
{
|
|
}
|
|
|
|
Serial.println ();
|
|
//#undef SCL
|
|
//#undef SDA
|
|
Serial.print("SCL=");Serial.println (SCL);
|
|
Serial.print("SDA=");Serial.println (SDA);
|
|
Serial.print("PWSCL=");Serial.println (PIN_WIRE_SCL);
|
|
Serial.print("PWSDA=");Serial.println (PIN_WIRE_SDA);
|
|
Serial.println ();
|
|
Serial.println ("I2C scanner. Scanning ...");
|
|
byte count = 0;
|
|
|
|
/*#define SCL 5
|
|
#define SDA 4*/
|
|
Wire.begin();
|
|
for (byte i = 8; i < 120; i++)
|
|
{
|
|
Wire.beginTransmission (i);
|
|
if (Wire.endTransmission () == 0)
|
|
{
|
|
Serial.print ("Found address: ");
|
|
Serial.print (i, DEC);
|
|
Serial.print (" (0x");
|
|
Serial.print (i, HEX);
|
|
Serial.println (")");
|
|
count++;
|
|
delay (1); // maybe unneeded?
|
|
} // end of good response
|
|
} // end of for loop
|
|
Serial.println ("Done.");
|
|
Serial.print ("Found ");
|
|
Serial.print (count, DEC);
|
|
Serial.println (" device(s).");
|
|
} // end of setup
|
|
|
|
void loop() {}
|