登录站点

用户名

密码

红外线遥控电子密码锁

已有 269 次阅读  2011-05-04 17:00   标签红外线  密码锁 
红外线遥控电子密码锁
 
 

 摘要  文介绍一种基于单片机的具有键盘输入和红外遥控输入两种密码输入方式的智能密码锁,对系本统硬件设计和软件实现进行了详细的描述。该系统采用HT48R30A-1单片机,一体化红外接收头,通用红外遥控器,通过红外遥控器的通用数据传输协议,实现密码输入的功能。

1.引言

电子技术飞速发展,产生了一大批如声控锁、电子密码锁、遥控锁,指纹锁等先进的锁具。传统的机械锁慢慢开始退出历史的舞台。新型电子锁产品安全性高,但因其生产成本高,安装使用不方便,在一定程度上限制了这类产品的普及和推广。

本文介绍的是一种基于HT48R30A-1单片机,采用一体化红外接收头和通用红外遥控器的智能密码锁的硬件设计和软件实现方法,这种电路设计具有防试探按键输入、智能控制上锁、开锁、修改密码等多种功能。两级控制权限,管理方便,红外遥控输入密码,安全性高,保密性强,灵活性高,本设计主要用于酒店保管箱。

 

2.设计思路

本设计中,红外线遥控电子密码用于酒店保管箱中,酒店客人把物品放入保管箱中,然后输入四位用户密码,按锁门键,保险箱自动锁上。酒店客人取物品时输入自己设定的四位密码,锁自动打开。红外线遥控器用于酒店管理人员行使管理权力,当有客人忘记密码时,管理人员使用遥控器输入管理密码打开保管箱。这比直接用键盘输入管理码更安全。

智能密码锁工作时分为两种工作状态,分别是开门状态和锁定状态。开门状态时,等待客人输入密码关门。锁定状态时等待客人输入密码开门。状态由开门行程开关和关门行程开关决定。开门时电机转动,当锁拴压到开门行程开关时停止。关门时电机转动,当锁拴压到关门行程开关时停止。

密码存储在AT24C02中,开锁时,将从面板上的键盘输入的或红外遥控输入的数字序列与AT24C02中存储的密码相比较,如果位数及每一位上的数都相吻合,则进行开锁动作。否则仍将锁定。

为安全起见,密码可以进行更改。在正常状态时,程序允许用户随时进行密码修改,密码长度固定,用户码4位,管理码6位,数字可随意进行组合。

为防止程序“跑飞”等异常情况,本设计在软件中使用了简单的“程序陷阱”技术,HT48R30A-1单片机中内置“看门狗”电路。无论是硬件复位还是软件复位后,自动进入锁定状态,保证异常情况下的安全。

锁定状态时,为防止非法用户进行恶意多次试探开锁,连续三次输错密码,将锁定键盘15分钟。

 

3HT48R30A-1单片机和一体化红外接收头

   HT48R30A-1是一款8位高性能精简指令集单片机,专为多输入输出控制的产品设计。拥有低功耗,I/O口稳定性高,定时器功能,振荡选择,省电和唤醒功能,看门狗定时器,蜂鸣器驱动,以及低价位等优势,使此款多功能芯片可以广泛地适用于各种应用,例如工业控制,消费类产品,子系统控制器等。下图是28脚的SKDIP HT48R30A-1引脚图:

   

    遥控信号接收电路可以使用一种集红外线接收和放大于一体的一体化红外线接收器,不需要任何外接元件,就能完成接收红外线调制信号工作并进行解调,输出与TTL电平信号兼容的数据编码,而体积和普通的塑封三极管大小一样,它适合于各种红外线遥控和红外线数据传输。

    接收器对外只有3个引脚:OutGNDVcc与单片机接口非常方便,如图所示:

                         

       ① 脉冲信号输出接,直接接单片机的IO 口。

       GND接系统的地线(0V);

       Vcc接系统的电源正极(+5V);

 

4.硬件连接

    具体硬件连接图如下:

键盘线与数码管的数据线复用,键盘和6位数码管都是采用动态扫描方式工作。扫描键盘时,PA4-PA6被设置成输入,PB4-PB7被设置成输出。数码管动态显示时,PA4-PA6 PB4-PB7都被设置成输出,PC0-PC5是位选信号。单片机睡眠时,PA4-PA6可通过键盘唤醒系统。AT24C02I2C总线接口,PA2-PA3通过软件模拟I2C总线时序。两个行程开关的状态可通过扫描获得,PA1是输入,PG1PG2是输出。PB2PB3是输出,可通过驱动电路控制电机正反转。PB0是输出,输出固定频率方波,通过驱动电路让无源蜂鸣器发声。PA0是输入,接收红外接收头的数据信号。PB1控制红外接收头电源,可达到省电目的。

 

5.软件设计

当发射器按键按下后,即有遥控码发出,所按的键不同遥控编码也不同。这种遥控码具有以下特征:采用脉宽调制的串行码,以脉宽为0.565ms、间隔0.56ms、周期为1.125ms的组合表示二进制的“0”;以脉宽为0.565ms、间隔1.685ms、周期为2.25ms的组合表示二进制的“1”,其波形如图所示。

  遥控码的“0”和“1” (注:波形为接收端的与发射相反)

    遥控编码是引导码加上连续的32位二进制码组成的,引导码由9ms低电平和4.5ms的高电平组成,32位二进制码前16位为用户识别码,能区别不同的电器设备,防止不同机种遥控码互相干扰。后16位为8位操作码(功能码)及其反码。上述“0”和“1”组成的32位二进制码经38kHz的载频进行二次调制以提高发射效率,一体化红外接收头已经把信号解调,输出TTL电平。遥控信号编码波形图如下:

遥控信号编码波形图

我们知道了红外的数据编码方式后,就可以通过单片机软件编程读取 一体化红外接收头接收到的信号。键盘*键唤醒系统后,系统进入读取遥控键值子程序。扫描PA.0口的电平变化并计时,接受到引导码后,开始读取32位数据。利用后16位为8位操作码(功能码)及其反码的规则来检验数据正确性。然后拿操作码和键值表比较得出键值。接收到6个键值时比较密码。如果密码正确就执行开门操作,如果三次输错密码就锁键盘15分钟。程序流程图如下:

6.总结

可使用键盘输和红外线遥控器两种方式输入密码,用单片机实现密码锁的控制功能,具有更高的灵活性,安全性,可靠性。本设计中,电路结构简单,成本低廉。可根据需要,通过微小调整可外接各种执行机构,广泛用于车辆、大门、保险柜等各种需上锁的场合。

 

 

上一篇: stm32应用例程 下一篇: 理解和运用Maxim iButton产品中的循环冗余校验(CRC)

分享 举报