MFRC522是一款高度集成的非接触读写芯片,工作频率为13.56MHz,广泛应用于RFID读卡器设计中。该模块支持ISO/IEC 14443 A/MIFARE协议,能够读写MIFARE系列射频卡,如MIFARE Classic 1K/4K、MIFARE Ultralight、NTAG系列等。因其成本低、易于使用,成为Arduino、树莓派等开源硬件平台最受欢迎的RFID模块之一。
MFRC522通过天线发射13.56MHz的电磁波,为无源射频卡提供能量并与之通信。卡片通过负载调制将数据返回给读卡器。读卡器内部处理解码、校验等任务,通过SPI等接口与主控MCU交互。主要操作包括寻卡、防冲突、选卡、认证、读写数据块等。
| MFRC522引脚 | Arduino Uno引脚 |
|-------------|-----------------|
| SDA | 10 |
| SCK | 13 |
| MOSI | 11 |
| MISO | 12 |
| IRQ | 不接 |
| GND | GND |
| RST | 9 |
| 3.3V | 3.3V |
注意:MFRC522模块需3.3V供电,若使用5V Arduino,需确保模块带有电平转换电路,否则可能损坏。
Arduino社区提供了MFRC522库(由Github用户miguelbalboa维护),可通过库管理器安装。示例代码可完成读取卡片UID、读写块数据等功能。
`cpp
#include #include
#define SS_PIN 10
#define RST_PIN 9
MFRC522 mfrc522(SSPIN, RSTPIN);
void setup() {
Serial.begin(9600);
SPI.begin();
mfrc522.PCD_Init();
}
void loop() {
if (!mfrc522.PICCIsNewCardPresent()) return;
if (!mfrc522.PICCReadCardSerial()) return;
Serial.print("UID tag: ");
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();
mfrc522.PICC_HaltA();
}`
##
MFRC522射频IC卡感应模块是一款性能稳定、性价比高的读写模块,适合初学者和开发者快速实现RFID应用。通过简单的SPI接口即可与单片机通信,配合成熟的库函数,能够轻松完成读卡、写卡操作。广泛应用于各种身份识别和电子支付场景。
如若转载,请注明出处:http://www.xiangjiyundian.com/product/43.html
更新时间:2026-10-05 22:19:39