首页 动态 版块 商城 我的
 退出
游客  
等级:
金币:
经验值:

MFRC RC522 RFID射频 IC卡感应模块Python/C++编程 树莓派与ESP32使用例程

  53 
 0
 4
RASPI   ydxhuo.com 
文章主图

一:RFID-RC522模块介绍

RC522 是一款基于 NXP(恩智浦)MFRC522 芯片的 13.56MHz 高频非接触式 RFID 读写模块。该模块集成了调谐天线与射频电路,具有高集成度、低功耗、体积小和成本低等特点,是嵌入式开发与物联网设备中最常用的 RFID 方案之一。适用于生活中的智能门禁与考勤系统:小区门禁、刷卡、酒店门锁、校园卡、图书馆借书卡、水控/食堂扣费终端等等。

1.技术参数

射频芯片:MFRC522

工作频率:高频 (HF) 国际通用频段13.56 MHz

工作电压:3.3v (最大3.6V,千问不能接5V供电)

工作电流:13~26mA

空闲电流:10~13 mA

休眠电流:< 80 µA

通信接口:SPI

读卡距离:0 ~ 50 mm

传输速率:最高 424 kbit/s

工作环境:-20℃ ~ +80℃

2.引脚功能

VCC——电源正极,只能接 3.3

VRST——输入复位引脚(Reset / Power-Down 控制)

GND——电源地

IRQ——中断请求引脚(Interrupt Request),基础应用通常悬空不接

MISO——输出SPI 接口:主设备输入 / 从设备输出

MOS——I输入SPI 接口:主设备输出 / 从设备输入

SCK——输入SPI 接口:时钟信号线(Serial Clock)

SDA / NSS——输入SPI 接口:片选信号线(Chip Select / Slave Select,低电平有效)


3.支持协议

RC522 遵循 ISO/IEC 14443 A 标准协议,主要支持以下类型的卡片与标签:


MIFARE Classic 系列:Mifare1 S50(最常见的 IC 白卡/蓝色钥匙扣)、Mifare1 S70


MIFARE 其他系列:Mifare Ultralight、Mifare Pro、Mifare DESFire


相容卡片:符合 ISO/IEC 14443 A 规范的 NFC 标签或部分手机 NFC 模拟卡


二:树莓派例程

1.树莓派接线图

本次以树莓派Pico主板为例,按下图接好连接线,务必注意不可接反,默认接3.3V供电,千万不能接5v供电,否则会烧毁设备

Image

2.Python例程

 RC522 下载RC552这个源代码直接上传到树莓派Pico文件内,运行程序后将感应卡或者钥匙卡靠近感应区查看反馈状态(如下图) 


Image



3.升级Python例程

1.在前面基础上FC552模块接线依然不变,额外加入led灯和蜂鸣器。 

2.功能说明:按下A键可录入单张或多张卡片,录入完成后按B按键可保存。 

3.刷卡正确:当录入系统的感应卡,靠近感应区时LED绿灯会常亮5秒

4.刷卡错误:如果没有录入系统的感应卡靠近则蜂鸣器会报警5秒


 main 下载main这个源代码直接上传到树莓派Pico文件内,运行程序后按A按键先录入卡片信息, 按B保存信息。  后续即可正常使用(如下图) 



Image

二:ESP32例程

1.ESP32接线图

本次以ESP32-S3主板为例按下图接好连接线,务必注意不可接反,否则会烧毁设备

Image


2.C++程序

1.需要在Arduino IDE中点击左侧栏的 库管理器(Library Manager)(或按 Ctrl + Shift + I),搜索并安装以下依赖库:

MFRC522

RC552 下载RC552这个源代码直接用Arduino IDE编译上传程序打开串口监视查看,用感应卡靠近区域会显示卡片ID(如下图) 


Image



3.代码解析

这段代码的核心运行逻辑可以分为以下 5 个步骤:


1.初始化阶段 (setup)


启动串口通信(115200 波特率)。指定 GPIO 11~13 配置并启动 SPI 总线,调用 PCD_Init() 激活 RC522 读卡器芯片。


2.卡片检测与寻卡 (loop)


循环调用 PICC_IsNewCardPresent() 和 PICC_ReadCardSerial() 检测感应区是否有卡片。


若无卡或读卡失败,重置 lastUID 记录并直接退出本轮循环,避免无效运行。


3.UID 数据格式化


遍历存储卡号信息的字节数组(rfc522.uid.uidByte)。


将每个字节转为 2 位的十六进制大写字符(如 0xA4),并在字节间拼接空格,组合成直观的字符串。


4.防重复刷屏机制


比对当前读到的 currentUID 与上一轮记录的 lastUID。


仅在首次检测到新卡时打印 UID,避免卡片一直放在传感器上时在串口监视器中疯狂刷屏;当卡片移开后,lastUID 会被自动清空。


5.通信休眠复位


调用 PICC_HaltA() 命令卡片进入休眠,并调用 PCD_StopCrypto1() 停止加密通信,为下一次寻卡做准备。


技术支持

联系人:张工
电话:0755-32914578
QQ:2251000002
微信:扫下方二维码添加,请备注来意

提供:人工智能,IOT物联网,工控数显,嵌入式软硬件开发,科创教育,产品定制,生产,方案解决...

作者签名: www.ydxhuo.com   楼主  2026-08-12 17:14:25
回复列表
Powered by YDXHUO _VERSION
© 2017-2026 跃动芯火版权
您的IP: 10.1.94.54 , 2026-08-16 19:27:12
Powered by YDXHUO _VERSION
© 2017-2026 跃动芯火版权
(4) 分享
分享

请保存二维码或复制链接进行分享

取消
免责声明
1、本站资源,均来自网络与个人作者,所有资源和文章仅限用于学习和研究目的 。
2、不得用于商业或非法用途,否则,一切责任由该用户承担 !

侵权删除请致信 E-Mail:ydxho@qq.com
已有0次打赏