#include <Wire.h>
// MPU6050 AD0
// 通过AD0引脚设置为高电平改变地
const uint8_t mpuAd0Pin = 7;
// 定义I2C地址
#define MPU6050_ADDR 0x69 // MPU6050地址(通过AD0引脚设置为高电平改变地址)
#define DS1307_ADDR 0x68 // DS1307地址
#define OLED_ADDR 0x3C // OLED显示屏地址
void setup() {
pinMode(mpuAd0Pin, OUTPUT);
// digitalWrite(mpuAd0Pin, HIGH);
Wire.begin();
Serial.begin(115200);
Serial.println("I2C扫描器");
}
void loop() {
byte error, address;
int devicesFound = 0;
Serial.println("扫描中...");
for(address = 1; address < 127; address++) {
Wire.beginTransmission(address);
error = Wire.endTransmission();
if (error == 0) {
Serial.print("发现I2C设备,地址: 0x");
if (address < 16) {
Serial.print("0");
}
Serial.println(address, HEX);
devicesFound++;
}
}
Serial.print("扫描完成,发现 ");
Serial.print(devicesFound);
Serial.println(" 个设备");
delay(5000);
}