#include <Servo.h>
#include <avr/wdt.h>
#include <MFRC522.h>
#include <SPI.h>
int rst=9;
int ss=10;
MFRC522 rfid(ss,rst);
Servo motor;
String stringArray[6] ;
void setup() {
motor.attach(8);
stringArray[0] = "8913211972"; // kart şifreleri
stringArray[1] = "54153241249";
stringArray[2] = "10223252249";
stringArray[3] = "2287116248";
stringArray[4] = "61247249";
stringArray[5] = "1372534986";
Serial.begin(9600);
SPI.begin();
rfid.PCD_Init();
}
bool a=false;
void loop() {
;
if (millis() > 15000) { //wdt
wdt_enable( WDTO_60MS);
while(1) {}
}
if(! rfid.PICC_IsNewCardPresent())
return;
if(! rfid.PICC_ReadCardSerial())
return;
String birlesim = (String)rfid.uid.uidByte[0]+(String)rfid.uid.uidByte[1]+(String)rfid.uid.uidByte[2]+(String)rfid.uid.uidByte[3]; //kartta ki şifreyi stringe çevirme
rfid.PICC_HaltA(); //bu zımbırtı kartı sürekli okumaması içinmiş.
for(int say=0;say <7 ;say++) // 6 tane kart olduğu için aralarından birisi tutuyormu kontrol ediyor.
{
if( birlesim == stringArray[say])
{
rfid.PICC_HaltA();
motor.write(130); //kapıyı aç
delay(500);
a=true;
break;
}
}
if(a) //kapı açıldıysa servoyu eski poza getir
{
rfid.PICC_HaltA();
motor.write(100);
delay(500);
a=false;
}
}