掌控板2.0与SPI接口的RFID RC522实验

2025-12-032828
AI 快速预览详细 收起
本文介绍了如何使用掌控板2.0和SPI接口的RFID RC522模块进行读取卡号并控制LED灯。首先列出了所需的实验器材,包括掌控板2.0、掌控IO扩展板、MFRC522模块和LED。接着详细说明了RFID模块与掌控板(扩展板)的连线方法,并提供了详细的连线图。然后介绍了如何在Mind+平台上加载RC522库,并编写代码读取RFID卡号。最后,展示了刷卡开灯实验的具体代码和效果。这个项目非常适合STEM教育场景,能够帮助学生掌握物联网技术。


Mind+平台自带NFC模块,但此模块为IIC接口,如下图。
掌控板2.0与SPI接口的RFID RC522实验图1

但笔者学校配了一批RFID模块的却是SPI接口的,如下图:



掌控板2.0与SPI接口的RFID RC522实验图2掌控板2.0与SPI接口的RFID RC522实验图3


现用掌控板2.0在mind+(1.8.1RC3.0版本)上实现读取卡号,并按键外接LED.



一、实验器材:


1.掌控板2.0
2.掌控IO扩展板SKU:MBT0014
3.MFRC522
4.LED

二、RFID模块与掌控板(扩展板)的连线:

掌控板2.0与SPI接口的RFID RC522实验图4

掌控板
P13
P14
SDA
P16
SCL
3.3
GND
RC522
SCK
MISO
MOSI
SDASS
RST
VCC
GND


注意:
1.掌控板的SPI引脚是默认的,不可修改!

2.掌控板的P16为ESP32的gpio05,SCL为gpio22(见掌控板原理图)
掌控板2.0与SPI接口的RFID RC522实验图5


三、加载RC522库


在扩展——用户库中以关键字“rfid"搜索,可得以下结果,选取RFID RC522库。

掌控板2.0与SPI接口的RFID RC522实验图6


四、编写代码,读取RFID卡号

掌控板2.0与SPI接口的RFID RC522实验图7


卡片的UID为字符串,保存在data变量中,再通过串口0显示在mind+调试窗口中。

注意:命令语句"RC522初始化SDA 5 RST 22”中的SDA 5指的是esp32中的GPIO5,不是掌控中的P5,RST 22是eps32的GPIO22,非P22!!


上面的代码配合之前连线,上传代码后,刷卡后mind+的串口就能显示该RFID的卡号。


五、刷卡开灯实验


把LED接扩展板的P8,上传下面的代码,即可实现刷卡开灯2灯的效果。
掌控板2.0与SPI接口的RFID RC522实验图8

生成的C++代码如下 :
#include <SPI.h>
#include "MFRC522.h"

String mind_s_data;
MFRC522 mfrc522(5, 22);

void setup() {
        pinMode(P8, OUTPUT);
        SPI.begin();
  mfrc522.PCD_Init();
        mind_s_data = "0";
        Serial.begin(9600);
}
void loop() {
        if ((mfrc522.MFRC522_IsNewCard(&mfrc522))) {
                mind_s_data = (mfrc522.MFRC522_ReadCardUID(&mfrc522));
                Serial.println(mind_s_data);
        }
        if ((mind_s_data==String("7c38672e"))) {
                mind_s_data = "";
                digitalWrite(P8, HIGH);
                delay(2000);
                digitalWrite(P8, LOW);
        }
}







创作许可协议

本项目采用 None(不开放任何权利,保留所有权利) 进行许可。

评论(0)
- 没有更多了 -