#include #include #define czas_trwania 5000 const byte UID1[] = {0xC8, 0x94, 0xC0, 0x59}; const byte UID2[] = {0x4D, 0x56, 0xFD, 0x29}; const byte UID3[] = {0x4D, 0x56, 0xFD, 0x29}; const byte UID4[] = {0x7F, 0xC9, 0xBF, 0x59}; const byte UID5[] = {0xDA, 0x0D, 0xBF, 0x59}; const byte UID6[] = {0x27, 0x11, 0xBF, 0x59}; boolean karta1 = false; boolean karta2 = false; boolean karta3 = false; boolean karta4 = false; boolean karta5 = false; boolean karta6 = false; MFRC522 rfid(10, 9); MFRC522::MIFARE_Key key; boolean stan = false; unsigned long czas; void setup() { Serial.begin(9600); SPI.begin(); rfid.PCD_Init(); pinMode(6, OUTPUT); } void loop() { if (rfid.PICC_IsNewCardPresent() && rfid.PICC_ReadCardSerial()) { if (rfid.uid.uidByte[0] == UID1[0] && rfid.uid.uidByte[1] == UID1[1] && rfid.uid.uidByte[2] == UID1[2] && rfid.uid.uidByte[3] == UID1[3]) { karta1=true; if (rfid.uid.uidByte[0] == UID2[0] && rfid.uid.uidByte[1] == UID2[1] && rfid.uid.uidByte[2] == UID2[2] && rfid.uid.uidByte[3] == UID2[3]) { karta2 = true; if (karta1==true&&karta2==true) { Serial.println("Poprawny"); stan = true; czas = millis() + czas_trwania; } } } else { karta1=false; karta2=false; Serial.println("Niepoprawny"); stan = false; } rfid.PICC_HaltA(); rfid.PCD_StopCrypto1(); } if (stan && czas < millis()) stan = false; digitalWrite(2, stan) ; }