#include <OneWire.h>
// Сигнальный провод подключен к 2 пину Arduino
OneWire ds(2);
void setup() {
Serial.begin(9600);
Serial.println("Система готова. Приложите ключ iButton...");
}
void loop() {
byte addr[8];
// Ищем устройство на линии
if (!ds.search(addr)) {
ds.reset_search();
delay(250);
return;
}
// Проверяем контрольную сумму (CRC)
if (OneWire::crc8(addr, 7) != addr[7]) {
Serial.println("Ошибка: неверный CRC!");
return;
}
// Если всё ок, выводим код в консоль
Serial.print("Код ключа успешно считан: ");
for(int i = 0; i < 8; i++) {
if (addr[i] < 16) Serial.print("0");
Serial.print(addr[i], HEX);
Serial.print(" ");
}
Serial.println();
delay(1000); // Пауза, чтобы не спамить в порт
}