/*
  程序: I2C Scanner
  公众号:孤独的二进制 
*/
#include <Wire.h>
#include <Adafruit_SSD1306.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,16,2);
Adafruit_SSD1306 display = Adafruit_SSD1306(128, 64, &Wire);
void setup()
{
  Serial.begin(9600);  //开启串口显示
  while (!Serial);
  Serial.println("\nI2C Scanner");

  Wire.begin();  // 开启I2C, 不写地址,就是主设备
  //Wire.setClock(100000); //默认 100KHz
  //Wire.setWireTimeout(3000, true);  // timeout (us,reset_on_timeout)
  lcd.init();
  lcd.backlight();
  lcd.print("sdlfj");

  display.begin(SSD1306_SWITCHCAPVCC, 0x3C);
  // display.setTextSize(1);
  // display.setTextColor(SSD1306_WHITE);
  // display.setCursor(0,0);
  // display.print("Connecting to SSID\n'adafruit':");
  // display.print("connected!");
  // display.println("IP: 10.0.1.23");
  // display.println("Sending val #0");
  // display.setCursor(0,0);
  // display.display(); 
}


void loop()
{
  Serial.println("Scanning...");

  for (int i = 0; i < 128; i++ )
  {
    Wire.beginTransmission(i); // 准备向指定地址开始传输数据
    byte code = Wire.endTransmission(); //结束传输

    if (code == 0) //反馈0,代表收到回应,一切正常
    {
      Serial.print("Found: 0x");
      Serial.println(i, HEX);
    }

  }

  delay(5000);
}