#include <OneWare.h>
OneWire ibutton (12);
byte ibuttonid[10] = {0x1,0x18,0x31,0xFC,0x14,0x0,0x0,0x39};
byte buffer[10];
boolean result;
int doorpin = 13;//пин взят для тестов
void setup(){
Serial.begin(9600);//включено для отладки(в готовом варианте можно снести)
pinMode(doorpin,OUTPUT);
}
void loop(){
if (!ibutton.search (buffer)){
ibutton.reset_search();
delay(200);
return;
}
for (int x = 0; x<8; x++){
Serial.print(buffer[x],HEX);
Serial.print(" ");
}
Serial.println("\n");
result = true;
for (int x=0; x<10; x++){
int compare1 = ibuttonid[x];
int compare2 = buffer[x];
if(compare1 != compare2){
result = false;
}
}
if(result == true){
Serial.println("Door open for 5 seconds.");
digitalWrite(doorpin,HIGH);
delay(5000);//задержка реле 5сек (1000=1сек)
Serial.println("Door closed");
digitalWrite(doorpin,LOW);
}
for (int x=0; x<10; x++){
buffer[x] = 0 ;
}
}
Раздел: Arduino и Raspberry Pi