首页

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

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

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

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

介绍

访问控制(Access Control)是安全领域的一项重要技术,它可以限制人员进入某个场所、使用某物或消费某物。授权是验证某人的凭据并授予访问资源的权限的过程。

电子门禁或EAC是一个简单的概念,它利用计算机系统克服物理锁和钥匙的限制。在EAC中,我们有三种类型的身份验证。它们是:

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

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

门禁系统的剖析

一个典型的门禁系统由以下几部分组成。这些是实现一个有效的访问控制系统所需的最小组件。但访问控制系统的复杂性可能因系统而异。

RC522-RFID-Access-Control-System-Components

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

组件描述

RC522射频识别模块

基于MFRC522芯片的RC522 RFID模块是一种廉价而可靠的RFID模块Arduino。该套件包括主要的RFID扫描器/阅读器模块(内置PCB天线),智能卡和密钥卡(均为MIFARE 1K经典型)。

RC522-RFID-Module-Kit

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

mg996r伺服电机

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

mg - 996 r -伺服电机

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

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

Servo-Power-RC522-RFID-Access

PCF8574 I2C液晶显示模块

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智能卡和钥匙卡作为他们的凭证。

16×2液晶显示器和PCF8574 I2C液晶模块将连接到Arduino,为用户显示相关的文本(如欢迎词或UID)。

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

连接伺服电机到Arduino的PWM针,并提供外部电源,如果您使用相同的强大的MG 996R伺服电机,我做了。

组件的要求

  • Arduino UNO
  • RC522射频识别模块
  • 射频识别智能卡
  • RFID密钥卡
  • mg996r伺服电机
  • 16×2液晶显示器
  • PCF8574 I2C液晶显示模块
  • 电路试验板
  • 试验板电源
  • 连接电线

线路图

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

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

先决条件

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

安装库

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

  • SPI
  • MFRC522
  • 伺服
  • LiquidCrystal_I2C

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

万事达卡的身份证明

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

I2C液晶显示模块的从地址

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

I2C-LCD-Slave-Address

代码

现在我们准备编写Arduino RC522 RFID模块门禁系统的主要代码。代码非常简单。保存所有射频识别卡/钥匙卡的uid列表,这些id被认为是主要的,即有访问权限的。

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

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

工作

在显示所有的介绍文本后,Arduino会在LCD上显示“扫描你的卡片”,现在就可以读取/扫描RFID卡或钥匙卡了。我将RFID卡编程为master Card,即,只有RFID卡有访问权限,而密钥卡没有。

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

Scan-Card-RC522-RFID-Access

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

Access-Granted-LCD-RC522-RFID-Access

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

Scan-Key-Fob-RC522-RFID-Access

' Access Denied '消息将显示在LCD上。

Access-Denied-LCD-RC522-RFID-Access

结论

利用Arduino、RC522射频识别模块、mg996r伺服、PCF8574 I2C液晶显示器和一些射频识别智能卡和钥匙卡,实现了一个简单的门禁系统DIY项目。学习了本项目所需的重要组件,以及基于Arduino RC522 RFID模块的门禁系统的简单实现。

留下一个回复

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

Electronicshub图标
<\/i>","library":""}}" data-widget_type="nav-menu.default">
Baidu