#include <SPI.h>
#include <MFRC522.h>
#define SS_PIN 10
#define RST_PIN 21
#define LED_PIN 48
MFRC522 mfrc522(SS_PIN, RST_PIN);
void setup() {
Serial.begin(115200);
// 明确指定 SPI 引脚: SCK=12, MISO=13, MOSI=11, SS=10
SPI.begin(12, 13, 11, 10);
mfrc522.PCD_Init();
pinMode(LED_PIN, OUTPUT);
digitalWrite(LED_PIN, LOW);
Serial.println("系统已启动,请刷卡...");
}
void loop() {
// 检测新卡并读取序列号
if (mfrc522.PICC_IsNewCardPresent() && mfrc522.PICC_ReadCardSerial()) {
Serial.print("检测到卡片,UID: ");
for (byte i = 0; i < mfrc522.uid.size; i++) {
Serial.print(mfrc522.uid.uidByte[i] < 0x10 ? " 0" : " ");
Serial.print(mfrc522.uid.uidByte[i], HEX);
}
Serial.println();
// 亮灯并保持3秒
digitalWrite(LED_PIN, HIGH);
delay(3000);
digitalWrite(LED_PIN, LOW);
// 终止与当前卡片的通信
mfrc522.PICC_HaltA();
mfrc522.PCD_StopCrypto1();
}
delay(100);
}Loading
esp32-s3-devkitc-1
esp32-s3-devkitc-1
Loading
mfrc522
mfrc522