当前位置:诺佳网 > 电子/半导体 > 接口/总线/驱动 >

RFID模块门禁系统设计

时间:2023-06-15 | 栏目:接口/总线/驱动 | 点击:

RFID可应用于门禁系统,我们可以把数据写入标签,然后将有权限的标签进行记录保存,当有用户标签被扫描时,进行身份信息读取比对,然后根据权限进行相应的操作。

本篇配合OLED屏幕来模拟门禁系统,只对标签的UID进行简单对比判断,当然你也可以设置好自己的密钥,然后将数据写入到标签,进行更加严谨的身份识别。

1

实验材料

2

实验步骤

1.根据原理图搭建电路图。

RC522模块的3.3V、GND分别对应连接开发板的3.3V、GND,模块的MOSI、MISO、SCK分别连接开发板的SPI接口11、12、13,模块的SDA、RST分别连接开发板数字管脚10、9。OLED屏的VCC和GND分别连接开发板的3.3V和GND,OLED屏的SDA和SCL分别连接开发板A4和A5。

实验原理图如下图所示:

图片

实验原理图

2.代码较长,部分截取如下,全部代码文末获取。

...

if (nuidPICC[0] == cardID[0] && nuidPICC[1] == cardID[1]

&& nuidPICC[2] == cardID[2] && nuidPICC[3] == cardID[3])

{

oled.clearDisplay();//清屏

oled.setCursor(15, 2);//设置显示位置

oled.println("--RFID--");

oled.setCursor(25, 40);//设置显示位置

oled.println("CHECK OK");

oled.display(); // 开显示

delay(1000);
oled.clearDisplay();//清屏
oled.setCursor(15, 2);//设置显示位置
oled.println("--RFID--");
oled.setCursor(25, 40);//设置显示位置
oled.println("OPEN...");
oled.display(); // 开显示

} else {

oled.clearDisplay();//清屏

oled.setCursor(15, 2);//设置显示位置

oled.println("--RFID--");

oled.setCursor(15, 40);//设置显示位置

oled.println("CHECK ERR");

oled.display(); // 开显示

}

// 使放置在读卡区的IC卡进入休眠状态,不再重复读卡

rfid.PICC_HaltA();

...

3. 连接开发板,设置好对应端口号和开发板类型,进行程序下载。

图片

程序下载

3

实验现象

有权限的标签卡事先保存记录了UID,读卡对比可以开门,而另外的卡则不能开门操作。

您可能感兴趣的文章:

相关文章