介绍
射频识别或RFID(Radio-Frequency Identification)是一种通过无线电信号进行自动识别,通过RFID标签检索和存储数据的方法。
这些 RFID 标签可以贴在动物、物体上。因此,这些标签具有许多应用,例如贴在车辆上的不停车标签、动物识别。有 3 种类型的 RFID 标签:无源标签是对发射器发送的信号做出响应的标签、半无源标签和本身发射信号的有源标签。目前有几种方法可以控制对某个位置的访问:使用指纹、带密码的键盘以及使用 RFID 系统。
在本文中,我们将学习如何使用 RFID 技术开发门禁系统。该系统将包括 MFRC522 RFID 模块、用于开门的伺服电机、作为系统 HMI 的显示器以及信号 LED。因此在本文中,我们将学习如何使用 RFID 模块开发访问控制。
因此,通过本文您将了解到:
在面包板板上进行电路组装;
了解RFID模块的功能;
伺服电机启动;
在液晶显示屏上显示字符。
现在,我们将开始使用RFID模块开发停车场门禁系统项目的完整介绍。使用带 Arduino 的 RFID 模块开发停车场门禁系统
该项目的核心是 RFID 模块,它由带有 MFRC522 集成电路的印刷电路板和电路板上的天线组成。当电路板通电时,模块会发出射频信号,当标签接近模块时,标签就会被读取,每个标签都有不同的代码。该模块由 3.3 V 供电,它使用 SPI(串行外设接口)通信与所使用的微控制器进行通信。
开发这个项目的第一步是组装图 1 中的电路。
路的操作非常简单!伺服电机用作打开和关闭门的机制。每次标签被 RFID 模块识别时,Arduino 都会发送信息以激活或关闭门。LCD用作与用户的通信接口。接下来,我们将了解该项目的编程逻辑是如何工作的。
Arduino停车系统控制的代码逻辑
要对 Arduino Nano 进行编程,我们需要以下库:
SPI -包含执行 SPI 通信所需功能的库。
MFRC522 -包含与 RFID 模块通信的必要函数的库。
Servo -包含启动伺服电机的必要函数的库。
Wire -包含与 LCD 显示器进行 I2C 通信所需功能的库。文章来源:https://www.toymoban.com/news/detail-522417.html
Arduino IDE 中未安装 liquidCrystal_I2C 和 MFRC522 库,因此我们必须安装它们。安装库后,关闭 Arduino IDE 并再次打开它。完整代码如下所示。文章来源地址https://www.toymoban.com/news/detail-522417.html
/* * Teste Leitor RFID * tag 1 F1 B103 1F 241 17703 31
F1 B1 03 1F
tag 2 14 45 29 57 20 69 41 87
14 45 29 57
*/
#include <SPI.h>
#include <MFRC522.h>
#include <Servo.h>
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
Servo myservo ;
LiquidCrystal_I2C lcd (0x27,2,1,0,4,5,6,7,3,POSITIVE);
#define vermelho 4
#define verde 5
#define SS_PIN 10
#define RST_PIN 9
MFRC522 mfrc522 (SS_PIN, RST_PIN);
void setup() {
Wire.begin();
lcd.begin(16,2); lcd.setBacklight(HIGH); lcd.setCursor(0,0); lcd.print("Aproxime a sua "); lcd.setCursor(0,1); lcd.print("tag do leitor "); pinMode(verde,OUTPUT); pinMode(vermelho,OUTPUT); Serial.begin(9600); SPI.begin(); Serial.println("Aproxime a tag do leitor "); mfrc522.PCD_Init(); digitalWrite(verde,0); digitalWrite(vermelho,0); myservo.attach(6); }
void loop() {
if(!mfrc522.PICC_IsNewCardPresent()) {
return; } if(!mfrc522.PICC_ReadCardSerial()) {
return; }
Serial.print(" UID da tag : "); String conteudo = ""; byte letra; for (byte i = 0; i< mfrc522.uid.size; i++) {
Serial.print(mfrc522.uid.uidByte[i] <0x10 ? "0":" "); Serial.print
到了这里,关于【基于Arduino RFID门禁系统】的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!