找回密码
 立即注册

QQ登录

只需一步,快速开始

星原力教育科技 首页 创客工坊 查看内容

基于Arduino制作智能门禁系统

2020-5-9 14:07| 发布者: lou| 查看: 648| 评论: 0

摘要: 基于Arduino的智能门禁借助于arduino硬件和mixly设计一个智能门禁系统,只有使用正确IC卡才可使舵机转动,拔出插销,打开大门。 材料准备 名称 功能 Arduino UNO主控 智能门禁主控 1602显示屏 用于 ...

基于Arduino制作智能门禁系统



借助于arduino硬件和mixly设计一个智能门禁系统,只有使用正确IC卡才可使舵机转动,拔出插销,打开大门。


材料准备


  • Arduino UNO主控       
  • 1602显示屏  
  • RFID射频模块
  • 舵机  
  • 红外避障传感器
  • 9V充电锂电池
  • 稳压板
  • 船型开关
  • 面包板


硬件连接


          硬件管脚                                         Arduino UNO管脚

  RFID射频模块SDA         <------>                      10 

  RFID射频模块SCK         <------>                      13

 RFID射频模块MOSI        <------>                      11

 RFID射频模块MISO        <------>                      12

  RFID射频模块RST         <------>                       9

   1602显示屏SDA           <------>                       A4

   1602显示屏SCL            <------>                       A5

        舵机信号                <------>                        5

      红外避障信号            <------>                        6


读取ID


使用RFID模块,读取ID卡数,打开串口监视器,将ID卡放置RFID射频IC感应卡上,串口监视器会显示ID卡数值,记录指定ID卡数值。


(串口打印程序)


(不同ID卡,串口打印数值不同)


指定ID卡并显示


使用数组,在整个数组中,有其他ID卡数值与指定的一个正确ID卡值(也可设置两个指定开门的ID卡值),声明RC并赋值为读取rfid所读卡的卡号,使用步长模块,从步长循环次数为数组的长度,如果RC读取到 卡号是数组中的某一项,那就让舵机转动带动门插销,否则则门插销不动,处于关闭状态。


(指定ID卡)


1602显示门打开关闭的状态,如果插销处于落锁状态,1602显示屏显示close,打开插销,即可以开门,显示频显示open


(加入1602显示屏程序)


自动落锁


该程序为智能门禁基础程序,实际运行当中,发现,只有ID卡一直放在RFID射频模块上,舵机才会拔出插销不动,但是一收回ID卡,插销会回去,将门锁住。所以,我们要将程序进行更改,RFID射频模块读取到正确ID卡时,转动舵机,拔出插销,如果在指定时间内,没有开门,插销将自动落锁。在指定时间内打开了门,插销不会落锁,直到再次关上门。这里,我们就要用到红外避障模块,判断是否打开门。

声明item0,如果读取到正确ID值,判断item是否等于0,如果等于0,将item赋值为1


(自动落锁程序1


而当item等于1时,判断红外避障是否检测到前方有障碍,前方有障碍,表示门是处于合拢状态。声明T100,如果红外避障输出为低电平,即前方有障碍物,延时T毫秒,变量C赋值为CTD赋值为C,变量C实际就是红外检测前方障碍物的时间。如果D等于5000,即时间到了5秒,门没有打开,那么插销将自动落锁。5秒内打开了门,即红外避障模块没有检测到前方有障碍物,插销不会自动落锁,计时时间停止,关上门后,会继续计时,然后自动落锁。


(自动落锁程序2


总程序


(智能门禁总程序)



鲜花
鲜花 (6)
握手
握手
雷人
雷人
路过
路过
鸡蛋
鸡蛋

刚表态过的朋友 (6 人)