Загрузка данных


#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 секунды
}