#include <Arduino.h>
// Atlante: esempio originale per UNO R3.
// Verificare core, cablaggio e hardware prima dell’uso.
#include <Wire.h>
void setup() {
  Serial.begin(115200);
  Wire.begin();
  Wire.setWireTimeout(25000, true); // core AVR con timeout Wire
  byte trovati = 0;
  for (byte indirizzo = 8; indirizzo < 120; indirizzo++) {
    Wire.beginTransmission(indirizzo);
    byte esito = Wire.endTransmission();
    if (esito == 0) {
      Serial.print("Risposta 0x"); Serial.println(indirizzo, HEX);
      trovati++;
    }
    if (Wire.getWireTimeoutFlag()) {
      Serial.println("Timeout bus: controllare i collegamenti");
      Wire.clearWireTimeoutFlag();
      break;
    }
  }
  Serial.print("Totale: "); Serial.println(trovati);
}
void loop() {}
