/* RFID-MRC522-3 Programmet leser av ID-koden til et kort. Programmet regner HEX-koden om til et heltall av typen long slik at det skal være lettere å sammenligne med en akkreditert kode En lysdiode tennes når et akkreditert kort registreres Nils Kr. Rossing 14.03.23 */ #include #include "MFRC522_I2C.h" MFRC522 mfrc522(0x28, 3); // Create MFRC522 instance. long ID_kode = 0; long ID_akk = 23668; int pinLED = 12; void setup() { Serial.begin(9600); Wire.begin(); mfrc522.PCD_Init(); pinMode(pinLED, OUTPUT); Serial.println("RFID-MRC522-4"); } void loop() { // Se etter et nytt ID-kort, les kortet if ( mfrc522.PICC_IsNewCardPresent() && mfrc522.PICC_ReadCardSerial() ) { // UID er lagret i mfrc522.uid. Konverter til long. ID_kode = convertFourByteToLong(mfrc522.uid.uidByte); // Skriv ut ID-kode Serial.print(" Kortets UID - "); Serial.println(ID_kode); // Sjekk om ID-kort er akkreditert if (ID_kode == ID_akk) { digitalWrite(pinLED, HIGH); delay(5000); digitalWrite(pinLED, LOW); ID_kode = 0; } // Samme ID-kode vises kun en gang for hver berøring mfrc522.PICC_HaltA(); } } long convertFourByteToLong(byte UID[4]) { long val = 0; val += UID[0]; val += UID[1]; val += UID[2]; val += UID[3]; return val; }