#include <SPI.h>
#include <MFRC522.h>
#define SS_PIN 10
#define RST_PIN 9
MFRC522 rfid(SS_PIN, RST_PIN);
String allowedUID = "XX XX XX XX"; // Replace with your RFID tag's UID
void setup() {
Serial.begin(9600);
SPI.begin();
rfid.PCD_Init();
pinMode(LED_BUILTIN, OUTPUT);
}
void loop() {
if (!rfid.PICC_IsNewCardPresent() || !rfid.PICC_ReadCardSerial()) {
return;
}
String uid = "";
for (byte i = 0; i < rfid.uid.size; i++) {
uid += String(rfid.uid.uidByte[i] < 0x10 ? " 0" : " ");
uid += String(rfid.uid.uidByte[i], HEX);
}
uid.trim();
Serial.println(uid);
if (uid == allowedUID) {
digitalWrite(LED_BUILTIN, HIGH); // Turn on LED for access granted
delay(3000); // Keep unlocked for 3 seconds
digitalWrite(LED_BUILTIN, LOW); // Turn off LED
} else {
digitalWrite(LED_BUILTIN, LOW); // Turn off LED
}
rfid.PICC_HaltA();
}