mirror of
https://git.mirrors.martin98.com/https://github.com/luc-github/ESP3D.git
synced 2025-08-04 01:00:43 +08:00
45 lines
1.0 KiB
C++
45 lines
1.0 KiB
C++
// ESP32 I2C Scanner
|
|
// Based on code of Nick Gammon http://www.gammon.com.au/forum/?id=10896
|
|
// ESP32 DevKit - Arduino IDE 1.8.5
|
|
// Device tested PCF8574 - Use pullup resistors 3K3 ohms !
|
|
// PCF8574 Default Freq 100 KHz
|
|
|
|
#include <Wire.h>
|
|
|
|
void setup()
|
|
{
|
|
Serial.begin (115200);
|
|
Wire.begin (21, 22); // sda= GPIO_21 /scl= GPIO_22
|
|
}
|
|
|
|
void Scanner ()
|
|
{
|
|
Serial.println ();
|
|
Serial.println ("I2C scanner. Scanning ...");
|
|
byte count = 0;
|
|
|
|
Wire.begin();
|
|
for (byte i = 8; i < 120; i++)
|
|
{
|
|
Wire.beginTransmission (i); // Begin I2C transmission Address (i)
|
|
if (Wire.endTransmission () == 0) // Receive 0 = success (ACK response)
|
|
{
|
|
Serial.print ("Found address: ");
|
|
Serial.print (i, DEC);
|
|
Serial.print (" (0x");
|
|
Serial.print (i, HEX); // PCF8574 7 bit address
|
|
Serial.println (")");
|
|
count++;
|
|
}
|
|
}
|
|
Serial.print ("Found ");
|
|
Serial.print (count, DEC); // numbers of devices
|
|
Serial.println (" device(s).");
|
|
}
|
|
|
|
void loop()
|
|
{
|
|
Scanner ();
|
|
delay (100);
|
|
}
|