Arduino RC522 RFID模块的访问控制系统

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

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

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

介绍

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

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

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

在这个简单的DIY项目中,我们将使用一个基于RFID的门禁系统,它使用智能卡和钥匙卡对人进行身份认证。

访问控制系统的解剖

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

RC522-RFID-Access-Control-System-Components

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

组件描述

RC522射频识别模块

MFRC522基于IC的RC522 RFID模块是Arduino的便宜但可靠的RFID模块。该套件包括主RFID扫描仪/读取器模块(带嵌入式PCB天线),智能卡和钥匙FOB(两者都是MIFARE 1K Classic)。

RC522-RFID-Module-Kit

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

MG 996R伺服电机

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

MG-996R-伺服电机

注意:不要从Arduino上给MG 996R伺服电机供电,因为运行电流非常高(通常为6V供电,在500mA到900mA之间)。根据负载的不同,失速电流可达2.5A(在6V时)。

因此,使用伺服电源的单独电源,使该外部电源和Arduino之间的基础。

Servo-Power-RC522-RFID-Access

PCF8574 I2C LCD模块

其中一个非常有用的模块Arduino是PCF8574 I2C LCD模块。它将一个常规的16×2液晶显示器转换成一个I2C接口设备,使您可以控制显示,只需两条线(SDA和SCL的I2C)。

I2C-LCD-Module-16x2-LCD

我做了一个专门的教程接口PCF8574 I2C液晶与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键FOB.
  • MG 996R伺服电机
  • 16×2液晶显示器
  • PCF8574 I2C LCD模块
  • 电路试验板
  • 面包板电源
  • 连接电线

电路图

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

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

先决条件

在构建基于Arduino RC522 RFID模块的门禁系统之前,有一些事情需要你准备。

安装库

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

  • SPI
  • MFRC522.
  • 伺服
  • LiquidCrystal_I2C

在这种情况下,Arduino IDE已经安装了SPI和Servo库。所以,确保你安装了另外两个。

万事达卡的UID

下一件事是获取所有主卡的UID(唯一ID),这将有权访问资源(在这种情况下,门将打开)。使用'MFRC522'库中的“DumpInfo”示例获取主RFID卡的UID和密钥FOB。

I2C LCD模块的从站地址

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

I2C-LCD-Slave-Address

代码

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

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

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

在职的

显示所有介绍文本后,Arduino将在LCD上“扫描您的卡”,现在可以准备好阅读/扫描RFID卡或钥匙扣。我将RFID卡编程为主卡I.,只有RFID卡具有访问权限,关键FOB没有。

当我扫描RFID智能卡时,伺服系统将激活,这代表打开一扇门或打开一扇门。

Scan-Card-RC522-RFID-Access

LCD显示' Access Granted '消息和UID的卡。

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

如果我扫描钥匙链,伺服保持在关闭的位置,因为它不是一张主卡。

Scan-Key-Fob-RC522-RFID-Access

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

Access-Denied-LCD-RC522-RFID-Access

结论

此处使用Arduino,RC522 RFID模块,MG 996R伺服,PCF8574 I2C LCD和几个RFID智能卡和钥匙扣,展示了一个简单的访问控制系统DIY项目。您学习了该项目所需的重要组成部分,也是简单的Arduino RC522 RFID模块的访问控制系统。

留下一个回复

您的电子邮件地址不会被公开。必需的地方已做标记*