#include <SPI.h>
#include <MFRC522.h>
#define SS_PIN 10
#define RST_PIN 9
MFRC522 rfid(SS_PIN, RST_PIN);
byte authorizedUID[] = {0x01, 0x02, 0x03, 0x04};
void setup() {
Serial.begin(115200);
SPI.begin();
rfid.PCD_Init();
Serial.println("MFRC522 Ready");
Serial.println("Scan a card...");
}
// Sets-Up the card that will be accepted by the RFID (use on system start)
void rfidSetUp(){
}
void rfidReaderLogic(){
if (!rfid.PICC_IsNewCardPresent()) {
return;
}
if (!rfid.PICC_ReadCardSerial()) {
Serial.println("Card Serial not recognized");
return;
}
Serial.println("---------");
bool match = true;
Serial.print("Card UID:");
for (byte i = 0; i < rfid.uid.size; i++) {
if(rfid.uid.uidByte[i] != authorizedUID[i]){
//Serial.print(rfid.uid.uidByte[i]);
//Serial.print(" vs ");
//Serial.println(authorizedUID[i]);
match = false;
}
Serial.print(rfid.uid.uidByte[i] < 0x10 ? " 0" : " ");
Serial.print(rfid.uid.uidByte[i], HEX);
}
Serial.println("");
if(match){
Serial.println("Authorized card was entered");
// LED GREEN!
}
else{
Serial.println("Unauthorized card was entered");
}
Serial.println("---------");
//rfid.PICC_HaltA();
delay(1000);
}
void loop() {
rfidReaderLogic();
}