#include <SPI.h>
#include <MFRC522.h>
#define SS_PIN 17
#define RST_PIN 20
MFRC522 rfid(SS_PIN, RST_PIN);
void setup() {
Serial1.begin(115200);
SPI.setRX(16);
SPI.setTX(19);
SPI.setSCK(18);
SPI.begin();
rfid.PCD_Init();
// najprostsza walidacja
byte v = rfid.PCD_ReadRegister(MFRC522::VersionReg);
if (v == 0x00 || v == 0xFF) {
Serial1.println("Blad RC522");
while (1);
}
Serial1.println("RC522 OK");
}
void loop() {
if (!rfid.PICC_IsNewCardPresent()) {
delay(200);
return;
}
if (!rfid.PICC_ReadCardSerial()) {
delay(200);
return;
}
Serial1.print("UID: ");
for (byte i = 0; i < rfid.uid.size; i++) {
Serial1.print(rfid.uid.uidByte[i], HEX);
Serial1.print(" ");
}
Serial1.println();
rfid.PICC_HaltA();
delay(1000);
}Loading
pi-pico-w
pi-pico-w
Loading
mfrc522
mfrc522