#include <SPI.h>
#include <MFRC522.h>
#define SS_PIN 5
#define RST_PIN 22
#define GREEN_LED 2
#define RED_LED 4
#define BUZZER 15
MFRC522 rfid(SS_PIN, RST_PIN);
byte testUID[4] = {0xA3, 0xF4, 0x12, 0xBC};
void setup() {
Serial.begin(115200);
SPI.begin(18, 19, 23, 5);
rfid.PCD_Init();
pinMode(GREEN_LED, OUTPUT);
pinMode(RED_LED, OUTPUT);
pinMode(BUZZER, OUTPUT);
Serial.println("Ready");
}
void loop() {
// SIMULATION MODE (Wokwi trick)
simulateScan();
delay(3000);
}
void simulateScan() {
Serial.println("Card detected");
String uid = "A3F412BC";
if (uid == "A3F412BC") {
Serial.println("PRESENT");
digitalWrite(GREEN_LED, HIGH);
tone(BUZZER, 1000);
delay(200);
digitalWrite(GREEN_LED, LOW);
noTone(BUZZER);
}
else {
Serial.println("UNKNOWN");
digitalWrite(RED_LED, HIGH);
tone(BUZZER, 300);
delay(500);
digitalWrite(RED_LED, LOW);
noTone(BUZZER);
}
}