42浏览
查看: 42|回复: 0

[教程] 掌控板2.0与SPI接口的RFID RC522实验

[复制链接]
本帖最后由 dlzxlsx 于 2025-12-3 15:09 编辑

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);
        }
}







您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4 备案 沪公网安备31011502402448

© 2013-2025 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail