Arduino RC522 RFID模块基于访问控制系统

在此项目中,我们将使用RC522 RFID模块,Arduino和MG 996R伺服电机构建一个简单的访问控制系统。使用其RFID智能卡或钥匙FOB对人员进行身份验证,并允许他们访问,即仅在有许可的情况下打开或关闭伺服器(门)。

RC522-RFID模块基于访问控制系统图像

为了保持清洁和简单,我使用了伺服电机来代表门开口和关闭。如果您对更专业的安装感兴趣,但请保持DIY,则可以使用螺线管门锁或电磁门锁。如果成本是一个因素,那么我建议您使用螺线管门锁。

介绍

访问控制是安全领域的重要技术,在该领域,人员可能会限制进入位置,使用对象或消耗某些东西的访问权限。授权是验证一个人的凭据并授予访问资源的许可的过程。

电子访问控制或EAC是一个简单的概念,它使用计算机系统来克服物理锁定和钥匙的局限性。在EAC中,我们有三种类型的身份验证。他们是:

  • 使用键盘输入PIN或密码。
  • 扫描智能卡或钥匙FOB
  • 使用指纹或虹膜等生物识别系统

在这个简单的DIY项目中,我们将使用基于RFID的访问控制系统,该系统使用智能卡和钥匙FOB对人员进行身份验证。

访问控制系统的解剖结构

典型的访问控制系统由以下组件组成。这些是实现工作访问控制系统所需的最小组件。但是访问控制系统的复杂性可能因系统而异。

RC522-RFID-ACCOSS-CORTOL-SYSTEM-COMPONENT

  • 控制器:能够与扫描仪 /读取器模块接口的微控制器或微处理器。
  • 受控条目:像门或门一样。
  • 扫描仪 /阅读器:用于接受用户输入的模块,例如键盘或RFID扫描仪或指纹读取器。
  • 锁定机构:像电磁阀门锁或电动机一样 - 受控门罢工。

组件描述

RC522 RFID模块

基于MFRC522 IC的RC522 RFID模块是Arduino的便宜而可靠的RFID模块。该套件由主RFID扫描仪 /读取器模块(带有嵌入式PCB天线),智能卡和键FOB(两者都是Mifare 1K Classic)组成。

RC522-RFID模块KIT

我撰写了一个专门的教程将RC522 RFID模块与Arduino接口。看看这个。

MG 996R伺服电机

Tower Pro的MG 996R是一款具有高档位扭矩的数字金属齿轮伺服器,可旋转到120度(每个方向60度)。Mg 996R伺服器的工作电压为4.8V,可提供9.4 kgf.cm.cm.cm的停滞扭矩。

MG-996R-Servo-Motor

笔记:请勿从Arduino供电Mg 996R伺服电动机,因为运行电流非常高(通常在6V电源的500mA至900mA之间)。停滞电流,取决于负载,可以达到2.5a(在6V时)。

因此,将单独的电源用于伺服供应,并使此外部电源和Arduino之间的地面通用。

伺服功率-RC522-RFID访问

PCF8574 I2C LCD模块

Arduino可用的非常有用的模块之一是PCF8574 I2C LCD模块。它将常规16×2 LCD显示器转换为I2C连接设备,因此您只需两根电线即可控制显示器(i的SDA和SCL2C)。

I2C-LCD-MODULE-16X2-LCD

我撰写了一个专门的教程将PCF8574 I2C LCD与Arduino接口。看看这个。

Arduino RC522 RFID模块基于访问控制系统

我选择了Arduino Uno作为该项目的主要控制器。要接受用户的输入,我们将使用RC522 RFID读取器模块。将向用户授予RFID智能卡和关键FOB作为其凭据。

16×2 LCD显示以及PCF8574 I2C LCD模块将连接到Arduino,以显示用户的相关文本(例如欢迎消息或UID)。

Arduino和RC522 RFID模块之间的连接使用SPI接口,而Arduino和PCF8574 I2C LCD模块之间的通信(随后,16×2 LCD)基于I2C接口。

将伺服电动机连接到Arduino的PWM引脚,如果您使用与我相同的强大MG 996R伺服电动机,则提供外部电源。

需要组件

  • Arduino Uno
  • RC522 RFID模块
  • RFID智能卡
  • RFID密钥FOB
  • MG 996R伺服电机
  • 16×2 LCD显示
  • PCF8574 I2C LCD模块
  • 面包板
  • 面包板电源
  • 连接电线

电路原理图

下图显示了基于Arduino RC522 RFID模块的访问控制系统的所有必要连接。

RC522-RFID模块基于Access-Control System-Circuit

先决条件

在进行基于Arduino RC522 RFID模块的构建访问控制系统之前,您需要准备一些事情。

安装库

您需要做的第一件事是检查是否安装了所有必要的库。如本项目所述,使用ARDUINO构建基于RC522 RFID模块的RFID模块,则需要以下库:

  • spi
  • MFRC522
  • 伺服
  • Liquidcrystal_i2c

在此,SPI和伺服库已经与Arduino IDE一起安装。因此,请确保安装其他两个。

主卡的UID

接下来要做的是获取所有主卡的UID(唯一ID),该卡将有权访问资源(在这种情况下,门将打开)。使用“ MFRC522”库中的“ doldinfo”示例来获取主RFID卡和钥匙FOB的UID。

I2C LCD模块的从属地址

最后,由于我们使用的是带有16×2 LCD显示的I2C LCD模块,因此我们必须知道I2p PCF8574 IC的C地址。仅将PCF8574 I2C模块连接到Arduino(通过I2C总线)并使用以下代码获取从地址。

I2C-LCD-SLAVE-ADDRESS

代码

现在,我们准备为基于Arduino RC522 RFID模块的访问控制系统编写主要代码。代码非常简单。保留所有RFID卡 /钥匙FOB UID的列表,这些列表被认为是访问权限的大师。

使用连接到Arduino的RC522 RFID模块扫描RFID卡或键FOB。如果扫描卡的UID与列表中的UID匹配,则打开大门,即激活MG 996R伺服器并在LCD上显示欢迎文本。

如果扫描卡未经许可,请勿打开大门,并在LCD上显示拒绝的访问文本。

在职的

在显示所有介绍文本后,Arduino将在LCD上说“扫描您的卡”,现在准备好阅读 /扫描RFID卡或钥匙FOB。我将RFID卡编程为主卡,即只有RFID卡可以访问,而密钥FOB则无法。

当我扫描RFID智能卡时,伺服器将激活,代表打开大门或解锁门。

扫描卡RC522-RFID-Access

LCD显示“访问授予”消息以及卡的UID。

访问授予的LCD-RC522-RFID-ACCESS

如果我扫描键FOB,则该伺服器仍然处于封闭位置,因为它不是主卡。

扫描键 -  -FOB-RC522-RFID-ACCESS

LCD将显示“访问拒绝”消息。

被访问的LCD-RC522-RFID-ACCESS

结论

此处使用Arduino,RC522 RFID模块,MG 996R伺服器,PCF8574 I2C LCD和几个RFID智能卡和关键FOBS,在此演示了一个简单的访问控制系统DIY项目。您了解了此项目所需的重要组件,以及基于Arduino RC522 RFID模块的访问控制系统的简单实现。

发表评论

您的电子邮件地址不会被公开。

电子豪华粉丝
<\/i>","library":""}}" data-widget_type="nav-menu.default">
Baidu
map