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,读卡对比可以开门,而另外的卡则不能开门操作。
-
RFID
+关注
关注
388文章
6142浏览量
237748 -
OLED屏
+关注
关注
0文章
162浏览量
20844 -
SPI接口
+关注
关注
0文章
258浏览量
34373 -
SDA
+关注
关注
0文章
124浏览量
28127 -
GND
+关注
关注
2文章
539浏览量
38696
发布评论请先 登录
相关推荐
评论