基于Arduino开发平台的自习室门禁系统设计
袁贵锋 胡雄强 朱亚兵 任康 薛飞勇 赵冯涛
摘 要:为了能够给在校大学生提供可靠而且安全的校园氛围,需要设计一款适合自习室的安全管理的门禁系统。本系统是以Arduino开发板为基础,通过利用IC卡进行刷卡,射频识别读取IC卡信息,将信息传送到主机,IC卡适合舵机驱动便可启动,最后通过LCD显示器来查看进出信息。通过实验论证,必须使用限定的IC卡方可开启舵机驱动,该系统使用起来不仅方便而且还安全,适用于各个安全门禁领域。
关键词:Arduino;射频识别;IC卡;舵机驱动
中圖分类号:TP273 文献标识码:A
1 引言(Introduction)
门禁系统,在智能建筑领域,意为Access Control System,简称ACS。门禁系统又被称为出入口管理控制系统,是安全防范系统的重要组成部分。门禁系统是将自动识别技术和安全管理措施融为一体,涉及电子、机械、生物识别、光学、计算机、控制、通信等技术[1]。主要解决出入口安全防范管理的问题,实现对人、物的出入控制和管理功能。
目前随着信息时代的发展,大量的智能化设备已经在我们周围随处可见。针对大部分高校的自习室而言,为了能够有效地获取自习室的利用情况,例如每天的人流量、进出的高峰期,以及确认这些人的身份信息等。于此同时自习室的开放,为学生创造一个良好的学习氛围是相当重要的。为了避免以上事件的发生,以及外来人员的进入,引进门禁系统是相当必要的[2]。自习室的门禁系统的正常运行对自习室的日常管理起着至关的作用,这样一来不仅给管理人员带来了方便同时也给学生带来了好处。
2 自习室门禁系统的组成(The composition of the
self-study room access control system)
基于Arduino开发板[3]的自习室门禁系统采用设备主要有Arduino UNO R3控制器、LCD1602显示模块、非接触式IC读卡器、舵机驱动模块、RFID-RC522射频识别模块,以及电源模块组成。系统功能模块如图1所示。
(1)电源模块
主要用220V的日常电压转化为开发板可以用的5V电压,方便简洁。
(2)显示模块
该模块主要选择LCD1602的显示屏,它用于接收主控机所发送的数据,显示对应的IC卡的相关信息。
(3)射频模块
该模块主要采用是高度集成的非接触式(13.56MHz)读写卡芯片MFRC522,次发送模块利用调制和调节原理,将他们完全集成到非接触式通信放到和协议中[4]。该模块支持ISO14443A协议,当IC卡进入到读卡器的范围内便会进行读取预录入的进行比较。
(4)IC卡模块
一张具有权限的IC卡,必须要具有开启的舵机权限,否则无法进入。
(5)舵机驱动模块
舵机可以实时控制角度,由外壳、电路板、无核心马达、齿轮与位置检测器所构成具有闭环控制系统。工作过程是由控制器发出PWM(脉冲宽度调制)信号送给内部电路产生一个偏置电压,再驱动无核心马达转动,透过减速齿轮带动电位器移动,使电影差为零时,电机停转,同时由位置检测器(电位器)返回位置信号判断是否已经到达设定位置。
3 硬件系统设计(Hardware system design)
基于Arduino[4]的自习室门禁系统主要包括LCD1602电路、RFID-RC522射频识别电路、Arduino-UNOR3主模板、舵机驱动电路和IC卡刷卡环节。
3.1 系统使用的元器件及连线
3.1.1 LCD1602显示器连接
LCD1602是一种工业字符型液晶,能够同时显示16×2即32个字符实物图如图2所示。主要用来显示一些相关信息,图3为其电路图。
显示屏LCD1602与Arduino控制器的各个引脚的连线如图4所示。
3.1.2 RFID-RC522连接
射频识别即RFID(Radio Frequency IDentification)技术,是一项利用射频信号通过空间耦合(交变磁场或电磁场)实现无接触信息传递并通过所传递的信息达到识别目的的技术[5,6]。
本模块采用MF RC522芯片,模块与Arduino通讯方式为SPI(同步串行外设接口总线)通信,Arduino工作在主模式下,RC522工作在从模式下,模块与Arduino控制板连接方式如图5所示。
3.1.3 Arduino-UNOR3主模板
Arduino-UNO-R3是一款易用型开源控制器,处理器核心是ATmega328,具有14路数字输入/输出口,其中6路可作为PWM输出,6路模拟输入,16MHz晶体振荡器,USB口,电源插座,ICSP header和复位按钮[7,8]。
3.1.4 SG90舵机
在门禁系统中,舵机担当着重要的作用[9]。通过Arduino控制sg90舵机转动,舵机红色是正极,棕色是负极,黄色为信号。SG90舵机引脚连线如表1所示。
3.2 系统硬件连接电路图
主要将Arduino-UNO-R3主模板作为控制模块,通过利用IC卡接触RFID-RC522射频识别模块,以舵机驱动带动这些模块,LCD1602作为显示,最终显示IC卡是否识别成功,整体电路连接图如图6所示。
4 软件系统设计(Software system design)
根据硬件设计可知控制元件比较多,因此对应的程序代码也比较多,为了能够让程序合理的去控制各个元件的工作,要采用函数库区进行封装,使其有模块化[10]。利用C语言去实现控制功能,按照相应模块将程序存入其中,不仅简化了各元件的存储效果,而且还大大降低了成本,将这些C语言程序全部存储于Arduino存储器中,软件流程图如图7所示。
本次设计的是在Windows7系统中,利用Arduino相关的软件ArduinoIDE1.8.3进行调试过程。本软件主要提供void setup()实现每个模块的初始化函数,void loop()实现与接口相连的函数。该软件的运行界面如图8所示。
初始化模块:
Serial.begin(9600);//初始化与PC的串行通信
while (!Serial);//判断串口是否打开
SPI.begin();//打串口开
mfrc522.PCD_Init();//初始化FRC522
for(byte i=0; i<6;i++) {
key.keyByte[i]=0xFF;//准备(used as both the key)钥匙
lcd.init(); //初始化LCD
lcd.backlight(); //设置LCD背景等亮
myservo.attach(6);//设置舵机控制针脚
//通过串口打印输出相关信息
Serial.println(F("Scan a MIFARE Classic PICC to demonstrate read and write."));
Serial.print(F("Using key (for A and B):"));
dump_byte_array(key.keyByte,MFRC522::MF_KEY_SIZE);
Serial.println(F("BEWARE: Data will be written to the PICC,in sector #1"));}
功能模塊:
lcd.setCursor(0,0);//设置光标位置
if (! mfrc522.PICC_IsNewCardPresent())return;//寻找新卡
if (! mfrc522.PICC_ReadCardSerial())return;//选择其中一张卡
//显示PICC的详细信息
Serial.print(F("Card UID:"));
//控制舵机0°到180°顺时针和180°到0°逆时针旋转,每次延时15ms
for(pos=0;pos<180;pos=pos+1) {myservo.write(pos);delay(15);}
5 软硬件测试(Soft and hardware test)
将所有模块连接好后用USB数据线与PC机相连起来,打开ArduinoIDE1.8.3这个软件,选择相适应的型号代码,进行对应的修改,将需要的代码进行融合,利用如图8所示的进行编译运行,控制舵机和识别IC卡功能,操作过程中的运行结果如图9所示。
6 结论(Conclusion)
为了解决大学生自习教室的出入安全问题,利用Arduino开发板设计的门禁系统,采用Arduino-UNOR3主模板作为该系统的核心板,利用RFID识别技术进行学生的相关信息识别,从而得到有效解决学生的安全管理。该系统还可以应用于其他方面的行业,比如家里、图书馆等场所,同时可以为“智慧校园”提供门禁数据信息。
参考文献(References)
[1] 俞萍,揭志华,汤榕文,等.“智慧校园”门禁系统的设计[J].广东培正学院论丛,2015(4):91-94.
[2] 韩改宁,韩丽娜,张清文.基于Arduino开发平台的学生宿舍门禁系统设计[J].单片机与嵌入式系统应用,2016,16(9):64-68.
[3] 苏祥林,陈文艺,闫洒洒.基于树莓派的物联网开放平台[J].电子科技,2015,28(9):35-37.
[4] 章登科,韩国程,俞朝晖,等.RFID技术及其在智能包装中的应用[J].包装工程, 2018(1):6-11.
[5] 钱琨.基于RFID和工业串口屏的驾校车载计费系统的设计[D].武汉工程大学,2017.
[6] 苏赐民,乐政通,赵志伟,等.智能家居门禁系统的设计[J].电脑知识与技术,2017(35):251-252.
[7] JohnBoxall.动手玩转Arduino[M].北京:人民邮电出版社,2014.
[8] 付久强.基于Arduino平台的智能硬件设计研究[J].包装工程, 2015(10):76-79.
[9] 汪婉君.基于Android/Arduino平台的智能蓝牙引路系统的设计与实现[D].西安电子科技大学,2014.
[10] 禹谢华,邓林茂,张晓云,等.基于Android与Arduino智能家居控制系统的设计与实现[J].山东农业大学学报(自然科学版),2017,48(4):532-536.
作者简介:
袁贵锋(1995-),男,本科生.研究领域:物联网工程.
胡雄强(1996-),男,本科生. 研究领域:物联网工程.
朱亚兵(1979-),男,本科,工程师.研究领域:计算机应用.
任 康(1994-),男,本科生. 研究领域:物联网工程.
薛飞勇(1996-),男,本科生. 研究领域:物联网工程.
赵冯涛(1996-),男,本科生. 研究领域:物联网工程.
摘 要:为了能够给在校大学生提供可靠而且安全的校园氛围,需要设计一款适合自习室的安全管理的门禁系统。本系统是以Arduino开发板为基础,通过利用IC卡进行刷卡,射频识别读取IC卡信息,将信息传送到主机,IC卡适合舵机驱动便可启动,最后通过LCD显示器来查看进出信息。通过实验论证,必须使用限定的IC卡方可开启舵机驱动,该系统使用起来不仅方便而且还安全,适用于各个安全门禁领域。
关键词:Arduino;射频识别;IC卡;舵机驱动
中圖分类号:TP273 文献标识码:A
1 引言(Introduction)
门禁系统,在智能建筑领域,意为Access Control System,简称ACS。门禁系统又被称为出入口管理控制系统,是安全防范系统的重要组成部分。门禁系统是将自动识别技术和安全管理措施融为一体,涉及电子、机械、生物识别、光学、计算机、控制、通信等技术[1]。主要解决出入口安全防范管理的问题,实现对人、物的出入控制和管理功能。
目前随着信息时代的发展,大量的智能化设备已经在我们周围随处可见。针对大部分高校的自习室而言,为了能够有效地获取自习室的利用情况,例如每天的人流量、进出的高峰期,以及确认这些人的身份信息等。于此同时自习室的开放,为学生创造一个良好的学习氛围是相当重要的。为了避免以上事件的发生,以及外来人员的进入,引进门禁系统是相当必要的[2]。自习室的门禁系统的正常运行对自习室的日常管理起着至关的作用,这样一来不仅给管理人员带来了方便同时也给学生带来了好处。
2 自习室门禁系统的组成(The composition of the
self-study room access control system)
基于Arduino开发板[3]的自习室门禁系统采用设备主要有Arduino UNO R3控制器、LCD1602显示模块、非接触式IC读卡器、舵机驱动模块、RFID-RC522射频识别模块,以及电源模块组成。系统功能模块如图1所示。
(1)电源模块
主要用220V的日常电压转化为开发板可以用的5V电压,方便简洁。
(2)显示模块
该模块主要选择LCD1602的显示屏,它用于接收主控机所发送的数据,显示对应的IC卡的相关信息。
(3)射频模块
该模块主要采用是高度集成的非接触式(13.56MHz)读写卡芯片MFRC522,次发送模块利用调制和调节原理,将他们完全集成到非接触式通信放到和协议中[4]。该模块支持ISO14443A协议,当IC卡进入到读卡器的范围内便会进行读取预录入的进行比较。
(4)IC卡模块
一张具有权限的IC卡,必须要具有开启的舵机权限,否则无法进入。
(5)舵机驱动模块
舵机可以实时控制角度,由外壳、电路板、无核心马达、齿轮与位置检测器所构成具有闭环控制系统。工作过程是由控制器发出PWM(脉冲宽度调制)信号送给内部电路产生一个偏置电压,再驱动无核心马达转动,透过减速齿轮带动电位器移动,使电影差为零时,电机停转,同时由位置检测器(电位器)返回位置信号判断是否已经到达设定位置。
3 硬件系统设计(Hardware system design)
基于Arduino[4]的自习室门禁系统主要包括LCD1602电路、RFID-RC522射频识别电路、Arduino-UNOR3主模板、舵机驱动电路和IC卡刷卡环节。
3.1 系统使用的元器件及连线
3.1.1 LCD1602显示器连接
LCD1602是一种工业字符型液晶,能够同时显示16×2即32个字符实物图如图2所示。主要用来显示一些相关信息,图3为其电路图。
显示屏LCD1602与Arduino控制器的各个引脚的连线如图4所示。
3.1.2 RFID-RC522连接
射频识别即RFID(Radio Frequency IDentification)技术,是一项利用射频信号通过空间耦合(交变磁场或电磁场)实现无接触信息传递并通过所传递的信息达到识别目的的技术[5,6]。
本模块采用MF RC522芯片,模块与Arduino通讯方式为SPI(同步串行外设接口总线)通信,Arduino工作在主模式下,RC522工作在从模式下,模块与Arduino控制板连接方式如图5所示。
3.1.3 Arduino-UNOR3主模板
Arduino-UNO-R3是一款易用型开源控制器,处理器核心是ATmega328,具有14路数字输入/输出口,其中6路可作为PWM输出,6路模拟输入,16MHz晶体振荡器,USB口,电源插座,ICSP header和复位按钮[7,8]。
3.1.4 SG90舵机
在门禁系统中,舵机担当着重要的作用[9]。通过Arduino控制sg90舵机转动,舵机红色是正极,棕色是负极,黄色为信号。SG90舵机引脚连线如表1所示。
3.2 系统硬件连接电路图
主要将Arduino-UNO-R3主模板作为控制模块,通过利用IC卡接触RFID-RC522射频识别模块,以舵机驱动带动这些模块,LCD1602作为显示,最终显示IC卡是否识别成功,整体电路连接图如图6所示。
4 软件系统设计(Software system design)
根据硬件设计可知控制元件比较多,因此对应的程序代码也比较多,为了能够让程序合理的去控制各个元件的工作,要采用函数库区进行封装,使其有模块化[10]。利用C语言去实现控制功能,按照相应模块将程序存入其中,不仅简化了各元件的存储效果,而且还大大降低了成本,将这些C语言程序全部存储于Arduino存储器中,软件流程图如图7所示。
本次设计的是在Windows7系统中,利用Arduino相关的软件ArduinoIDE1.8.3进行调试过程。本软件主要提供void setup()实现每个模块的初始化函数,void loop()实现与接口相连的函数。该软件的运行界面如图8所示。
初始化模块:
Serial.begin(9600);//初始化与PC的串行通信
while (!Serial);//判断串口是否打开
SPI.begin();//打串口开
mfrc522.PCD_Init();//初始化FRC522
for(byte i=0; i<6;i++) {
key.keyByte[i]=0xFF;//准备(used as both the key)钥匙
lcd.init(); //初始化LCD
lcd.backlight(); //设置LCD背景等亮
myservo.attach(6);//设置舵机控制针脚
//通过串口打印输出相关信息
Serial.println(F("Scan a MIFARE Classic PICC to demonstrate read and write."));
Serial.print(F("Using key (for A and B):"));
dump_byte_array(key.keyByte,MFRC522::MF_KEY_SIZE);
Serial.println(F("BEWARE: Data will be written to the PICC,in sector #1"));}
功能模塊:
lcd.setCursor(0,0);//设置光标位置
if (! mfrc522.PICC_IsNewCardPresent())return;//寻找新卡
if (! mfrc522.PICC_ReadCardSerial())return;//选择其中一张卡
//显示PICC的详细信息
Serial.print(F("Card UID:"));
//控制舵机0°到180°顺时针和180°到0°逆时针旋转,每次延时15ms
for(pos=0;pos<180;pos=pos+1) {myservo.write(pos);delay(15);}
5 软硬件测试(Soft and hardware test)
将所有模块连接好后用USB数据线与PC机相连起来,打开ArduinoIDE1.8.3这个软件,选择相适应的型号代码,进行对应的修改,将需要的代码进行融合,利用如图8所示的进行编译运行,控制舵机和识别IC卡功能,操作过程中的运行结果如图9所示。
6 结论(Conclusion)
为了解决大学生自习教室的出入安全问题,利用Arduino开发板设计的门禁系统,采用Arduino-UNOR3主模板作为该系统的核心板,利用RFID识别技术进行学生的相关信息识别,从而得到有效解决学生的安全管理。该系统还可以应用于其他方面的行业,比如家里、图书馆等场所,同时可以为“智慧校园”提供门禁数据信息。
参考文献(References)
[1] 俞萍,揭志华,汤榕文,等.“智慧校园”门禁系统的设计[J].广东培正学院论丛,2015(4):91-94.
[2] 韩改宁,韩丽娜,张清文.基于Arduino开发平台的学生宿舍门禁系统设计[J].单片机与嵌入式系统应用,2016,16(9):64-68.
[3] 苏祥林,陈文艺,闫洒洒.基于树莓派的物联网开放平台[J].电子科技,2015,28(9):35-37.
[4] 章登科,韩国程,俞朝晖,等.RFID技术及其在智能包装中的应用[J].包装工程, 2018(1):6-11.
[5] 钱琨.基于RFID和工业串口屏的驾校车载计费系统的设计[D].武汉工程大学,2017.
[6] 苏赐民,乐政通,赵志伟,等.智能家居门禁系统的设计[J].电脑知识与技术,2017(35):251-252.
[7] JohnBoxall.动手玩转Arduino[M].北京:人民邮电出版社,2014.
[8] 付久强.基于Arduino平台的智能硬件设计研究[J].包装工程, 2015(10):76-79.
[9] 汪婉君.基于Android/Arduino平台的智能蓝牙引路系统的设计与实现[D].西安电子科技大学,2014.
[10] 禹谢华,邓林茂,张晓云,等.基于Android与Arduino智能家居控制系统的设计与实现[J].山东农业大学学报(自然科学版),2017,48(4):532-536.
作者简介:
袁贵锋(1995-),男,本科生.研究领域:物联网工程.
胡雄强(1996-),男,本科生. 研究领域:物联网工程.
朱亚兵(1979-),男,本科,工程师.研究领域:计算机应用.
任 康(1994-),男,本科生. 研究领域:物联网工程.
薛飞勇(1996-),男,本科生. 研究领域:物联网工程.
赵冯涛(1996-),男,本科生. 研究领域:物联网工程.