#include <SPI.h> // preinstalled
#include <MFRC522.h> // need to be installed
//MFRC522 Arduino UNO
//----------------------------
//SDA ─────▶ D10 (Handled internally by the MFRC522 library)
//SCK ─────▶ D13 (configured automatically by SPI.begin())
//MOSI ─────▶ D11 (configured automatically by SPI.begin())
//MISO ─────▶ D12 (configured automatically by SPI.begin())
//IRQ (not connected)
//GND ─────▶ GND
//RST ─────▶ D9 (Handled internally by the MFRC522 library)
//VCC ─────▶ 3.3V
#define SS_PIN 10
#define RST_PIN 9
MFRC522 rfid(SS_PIN, RST_PIN);
void setup() {
Serial.begin(9600);
SPI.begin();
rfid.PCD_Init();
Serial.println("Scan an RFID card...");
}
void loop() {
if (!rfid.PICC_IsNewCardPresent()) return;
if (!rfid.PICC_ReadCardSerial()) return;
Serial.print("Card UID (decimal): ");
for (byte i = 0; i < rfid.uid.size; i++) {
Serial.print(rfid.uid.uidByte[i], DEC);
Serial.print(" ");
}
Serial.println();
rfid.PICC_HaltA();
delay(1000);
}