#include <Wire.h>
void setup() {
Serial1.begin(115200); // Замените на Serial, если используете USB CDC
Wire.begin();
Serial1.println("\n--- Сканирование шины I2C ---");
}
void loop() {
byte error, address;
int nDevices = 0;
for (address = 1; address < 127; address++) {
Wire.beginTransmission(address);
error = Wire.endTransmission();
if (error == 0) {
Serial1.print("Найдено устройство по I2C-адресу: 0x");
if (address < 16) Serial1.print("0");
Serial1.print(address, HEX);
Serial1.println(" !");
nDevices++;
}
}
if (nDevices == 0) {
Serial1.println("Устройства не найдены. Проверьте питание и линии SDA/SCL.");
} else {
Serial1.println("Сканирование завершено.");
}
delay(3000); // Опрос раз в 3 секунды
}