RC522 RFID射频模块怎么接线?Arduino刷门禁卡+读卡号教程

2026-10-19 13:08:37 41阅读

小区门禁一刷就开、饭卡过一下机器就扣钱的场景大家都很熟,背后就是RFID射频识别。想在自己项目里也加一个“刷卡感应”功能,RC522是入门最合适的模块:便宜、常见、教程齐全。这篇文章把接线和读卡讲清楚。

RC522是什么,认准它的核心引脚

RC522基于MFRC522芯片,工作在13.56MHz高频段,能读Mifare 1K(S50)、S70这类常见的IC卡和钥匙扣。读写距离一般0到5厘米,靠得近才感应。它用SPI跟Arduino通信,速度快、抗干扰好,是做门禁、考勤、商品识别的常见选择。

模块引出的引脚认准这几个:VCC(电源)、GND(地)、RST(复位)、SDA(也叫SS,片选)、SCK(时钟)、MOSI(数据进)、MISO(数据出)、IRQ(中断,可选)。其中SDA/SCK/MOSI/MISO这组就是SPI四根线。

接线表:SPI四线加电源复位,一表对照

RC522接到Arduino Uno,最标准的接法如下:VCC接3.3V、GND接地、SDA(SS)接D10、SCK接D13、MOSI接D11、MISO接D12、RST接D9、IRQ悬空不接。Uno的硬件SPI口恰好就是D10到D13,所以这组接线很顺。

代码如下片所示,程序里最要紧的是定义好两个脚:SS_PIN(片选,10)和RST_PIN(复位,9),用MFRC522库建对象,setup里SPI.begin()再PCD_Init()初始化,loop里PICC_IsNewCardPresent()和PICC_ReadCardSerial()就能读到卡的序列号(UID)。

唯一要留心的大坑:供电和IO电平

RC522的芯片逻辑是3.3V的,千万不能把VCC接到5V,一接5V很可能直接烧毁。这个模块对新手最大的坑,还不光是供电——Uno这种5V主控,它的MOSI、SCK、RST这些信号线输出是5V电平,直接怼到3.3V的RC522上,时间长了有损坏风险。稳妥的做法是把这几根信号线做电平转换(用分压电阻或者电平转换模块),或者干脆换ESP32/ESP8266这种3.3V主控来带——它们电压天然匹配,接起来省心得多。

很多网上的接法直接5V逻辑怼过去也能跑(芯片扛得住一时),但如果要做长期稳定的门禁产品,电平这块别省。

读不出卡怎么办,几个高频排查点

最常见是“放卡上去没反应”。先查接线——SPI四根线尤其容易插错,MISO和MOSI是两根数据线,接反了通而不进;再查供电,VCC是不是接了3.3V而不是5V;第三看库有没有正确安装(Arduino库管理器搜MFRC522)。还有一种情况是卡靠得太偏或太远,RC522感应范围只有5厘米内,卡片对准线圈中心才稳。

单靠读卡号就能写很多玩法:白名单门禁(刷到登记的UID就开锁)、考勤机、甚至是“集齐几张卡触发机关”的游戏化互动。RC522是理解无线识别很好的一课,接线记住SPI四线加3.3V,就能稳稳读卡。


作者:开源复现员
链接:https://www.aiddithome.com/p/8af3d2bc39de.html
本作版权归作者所有,未经允许请勿转载。若存在违规行为,您可以点击 “举报”。


登录 后发表评论
4条评论
电烙铁爱好者
1楼 · 2026-10-19 13:08:39

用它做了个白名单门禁,读UID比对就能开锁,挺实用

老张装机
2楼 · 2026-10-19 13:08:38

SPI那四根线MISO和MOSI最容易反,接不通先查它

触底反弹的Tony
3楼 · 2026-10-19 13:08:38

Uno直连3.3V模块IO电平这块确实得留个心,长期用建议上转换

阿伟不emo
4楼 · 2026-10-19 13:08:37

VCC别接5V,我真见过有人的模块这么接给烧了