首页

基于Arduino RC522 RFID模块的门禁系统

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

RC522-RFID-Module-based-Access-Control-System-Image

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

介绍

访问控制是安全领域的一项重要技术,人员在进入某地、使用某物或消费某物时可能受到限制。授权是验证一个人的凭据并授予访问资源的权限的过程。

亚博最新官网网址电子门禁或EAC是一个简单的概念,它使用计算机系统来克服物理锁和钥匙的限制。在EAC中,我们有三种类型的认证。它们是:

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

在这个简单的DIY项目中,我们将使用一个基于RFID的门禁系统来验证使用智能卡和钥匙的人。

门禁系统的解剖学

一个典型的门禁系统由以下组成。这些是实现工作的门禁控制系统所需的最低组件。但是,门禁系统的复杂性可能因系统而异。

RC522-RFID-Access-Control-System-Components

  • 控制器:一种微控制器或微处理器,能够与扫描/读取模块连接。
  • 控制进入:像门或大门。
  • 扫描仪/读取器:一个模块,用于接受用户输入,如键盘、射频识别扫描仪或指纹识别器。
  • 锁定机制:像电磁门锁或电机控制的门击。

组件描述

RC522射频识别模块

基于MFRC522 IC的RC522射频识别模块是Arduino的一个廉价而可靠的射频识别模块。该套件包括主RFID扫描仪/阅读器模块(带有嵌入式PCB天线)、一张智能卡和一个密钥卡(均为MIFARE 1K Classic类型)。

RC522-RFID-Module-Kit

我做了一个专门的教程RC522 RFID模块与Arduino接口。检查出来。

MG 996R伺服电机

Tower Pro的MG 996R是一个数字金属齿轮伺服,具有高失速扭矩,可以旋转高达120度(每个方向60度)。在4.8V的工作电压下,MG 996R伺服可以提供9.4 kgf.cm的失速扭矩。

mg - 996 r -伺服电机

注意:不要通过Arduino给MG 996R伺服电机供电,因为运行电流非常高(一般情况下,6V电源在500mA至900mA之间)。失速电流,根据负载,可以达到2.5A(在6V)。

因此,使用一个单独的伺服电源,并使这个外部电源与Arduino地线共用。

Servo-Power-RC522-RFID-Access

PCF8574 I2C液晶模块

Arduino非常有用的模块之一是PCF8574 I2C LCD模块。它将一个普通的16×2 LCD显示转换为I2C接口设备,使您可以只用两根线控制显示(SDA和SCL的I2C)。

I2C-LCD-Module-16x2-LCD

我做了一个专门的教程PCF8574 I2C LCD与Arduino接口。检查出来。

基于Arduino RC522 RFID模块的门禁系统

我选择了Arduino UNO作为这个项目的主控制器。为了接受用户的输入,我们将使用RC522 RFID阅读器模块。用户将获得RFID智能卡和钥匙表作为他们的凭证。

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密钥卡
  • MG 996R伺服电机
  • 16×2液晶显示器
  • PCF8574 I2C液晶模块
  • 电路试验板
  • 试验板电源
  • 连接电线

线路图

下图显示了基于Arduino RC522 RFID模块的门禁系统的所有必要连接。

RC522-RFID Module-based-Access-Control系统

先决条件

在继续构建基于Arduino RC522 RFID模块的门禁系统之前,需要准备一些东西。

安装库

您需要做的第一件事是检查是否安装了所有必需的库。如本项目所述,如果您正在使用Arduino构建基于RC522 RFID模块的门禁系统,那么您需要以下库:

  • SPI
  • MFRC522
  • 伺服
  • LiquidCrystal_I2C

在这里,SPI和伺服库已经用Arduino IDE安装。所以,确保你安装了另外两个。

万事达卡的UID

接下来要做的事情是获取所有主卡的UID(唯一ID),它将拥有访问资源的权限(在本例中,大门将打开)。使用' MFRC522 '库中的' DumpInfo '示例来获取主RFID卡和密钥fet的UID。

I2C液晶模块的从地址

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

I2C-LCD-Slave-Address

代码

现在,我们已经准备好为基于Arduino RC522 RFID模块的门禁控制系统编写主代码。代码非常简单。保存一份所有RFID卡/钥匙的uid的列表,这些被认为是主人,也就是可以访问的。

使用连接到Arduino的RC522 RFID模块扫描RFID卡或密钥卡。如果扫描卡的UID匹配列表中的一个,然后打开门,即,激活MG 996R伺服和显示欢迎文本在LCD上。

如果扫描卡没有权限,不要打开门,并在LCD上显示访问拒绝文本。

工作

在显示所有的介绍文本后,Arduino会在LCD上显示“扫描你的卡”,现在就可以读取/扫描RFID卡或钥匙了。我把射频识别卡设定为万事达卡,也就是说,只有射频识别卡可以访问,而钥匙卡不能。

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

Scan-Card-RC522-RFID-Access

LCD显示“访问授权”消息和卡的UID。

Access-Granted-LCD-RC522-RFID-Access

如果我扫描钥匙卡,伺服保持在关闭的位置,因为它不是一个万事达卡。

Scan-Key-Fob-RC522-RFID-Access

LCD上将显示一条“访问被拒绝”的信息。

Access-Denied-LCD-RC522-RFID-Access

结论

演示了一个简单的门禁系统DIY项目,使用Arduino、RC522 RFID模块、MG 996R伺服、PCF8574 I2C液晶显示器和一对RFID智能卡和密钥fobs。学习了本项目所需的重要组件,以及基于Arduino RC522 RFID模块的门禁系统的简单实现。

留下一个回复

您的电子邮件地址将不会被公布。必填字段被标记*