#include <SPI.h>
#include <MFRC522.h>
// RFID
#define SS_PIN 5
#define RST_PIN 22
MFRC522 rfid(SS_PIN, RST_PIN);
// Buzzer
#define BUZZER 26
// Isi ini dengan UID dari kartu yang kamu scan
String MASTER_UID = "01020304";
void setup() {
Serial.begin(115200);
delay(500);
SPI.begin(); // default SPI Wokwi
rfid.PCD_Init();
pinMode(BUZZER, OUTPUT);
digitalWrite(BUZZER, LOW);
Serial.println("System Ready - Tempel kartu");
}
void loop() {
if (!rfid.PICC_IsNewCardPresent()) return;
if (!rfid.PICC_ReadCardSerial()) return;
String uid = "";
for (byte i = 0; i < rfid.uid.size; i++) {
if (rfid.uid.uidByte[i] < 0x10) uid += "0";
uid += String(rfid.uid.uidByte[i], HEX);
}
uid.toUpperCase();
Serial.print("UID: ");
Serial.println(uid);
if (uid == MASTER_UID) {
Serial.println("ACCESS GRANTED");
tone(BUZZER, 2000, 300);
delay(500);
} else {
Serial.println("ACCESS DENIED");
tone(BUZZER, 500, 800);
delay(800);
}
rfid.PICC_HaltA();
rfid.PCD_StopCrypto1();
}