- 1、本文档共9页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
单按键密码锁-上海市黄浦区青少年科技活动中心
第二十七届上海市青少年科技创新大赛一等奖
单按键密码开关(锁)
卢湾区青少年活动中心 潘安
指导教师 潘耀军
论文摘要
本装置是在保留电子密码锁的所有功能的基础上改进发明的,其主要特点是:
一、将多按钮键盘改为只有一个单独按键。使用键盘,密码容易遭到窥觑、由于按键多还容易遭破坏或出错。单按键,元件少,可靠性就高了。
二、增设了智能学习及识别不同人的按键习惯的功能。不管是反应慢的老人,还是敏捷的年轻人,它都能自动学习他们按键的习惯。
三、增强了报警锁定功能。累计错3位数或者其他误触发后,锁住本装置上电时间累计30分钟,哪怕断电后再上电,还会根据记录继续锁定余下的时间。
四、密码位数可以多达15位,每位密码可以多达16种不同数字,总密码有15亿亿种之多,增加了破译的难度。
五、人机交互是用2位7段数码管显示与一个蜂鸣器提示音配合。左边位显示密码的当前位数,右边位显示当前位的密码值,你最多同时只能看到一位密码。
六、为了实现上述功能,采用单片机电路与程序配合完成。
本装置具备完善的密码的输入、修改、设置、报警、智能学习等功能,使电子密码开关(锁)变的简单、安全、可靠、维修方便、体积小。可以使用在任何有开关的地方、任何有锁的地方。
关键词:键盘、按键(按钮开关)、单片机、编码、密码锁当前虽然许多智能锁(如指纹辨别、IC卡识别)已相继问世,但这类产品是针对特定指纹或有效卡,只能适用于仅供个别人使用的箱、柜、房间等。另外,卡片式的IC卡易丢失和损坏,加上其成本较高,在一定程度上限制了这类产品的普及和推广。现有国内市场上具有成本低、功耗低、操作简单等优点使其作为防盗卫士的角色越来越重要其为了克服这些缺点,从经济实用角度出发,采用
单按键编码示意图
3、硬件结构框图:
三、基础设计与实现方法
1、单按键输入的实验:
利用机器人AVR-ATMEGA 128教学平台,编写一段小程序验证一次按键能否正确读到0或者1。把长短时间的分界点,定在0.1秒,一般的同学都可以成功按出0、1。
继续编写实验程序:连续4次按键,是否可以得到一个16进制的数。大多数同学也很顺利按出。
2、输入错误的修改:
密码输入错误是个常态事件,便捷的修正方法是提高装置的效率指标之一。这里,我设计了比较简单、便捷的密码数据修改方法,具体方法是:采用一个比长按键更长时间的按键,来区别与原来长按的二进制1。现在的超长按键就是进入修改前一位密码的状态了。比如先前已输入“A2756548”想要把“8”去掉,就长按键2秒,这样已输入的内容就会变成“A275654”。如果想要删去先前已输入的全部内容,那么就长按键4秒,就可以删除已输入的全部内容。
3、密码的重设:
为了安全重设密码,我在电子线路里,增加了一个判断门锁是否已经开启的联动开关,只有在锁已经打开的前提下,才可以做密码重设的操作。具体思路如下:
先输入原来的密码打开锁,钥匙开关断电再上电,就使得程序自动进入密码重新设置状态,此时两位数码管的小数点发光。左边位显示数字“0”,表示可以设置密码的位数,左边位是其他数字时,表示要设置当前第几位的密码。
4、人机交互的设计:
密码比较长时,你总得知道自己刚才是不是输入正常了,还得知道现在正在输入第几位的密码等等的不同的状态,为了保密性与节能,我们选用了2位7段的数码管来显示。
第一位显示的是当前为第几位密码,第二位显示的是当前位的密码值。小数点出现时,为密码重设状态。数码管只在有按键正确操作满4次时,才会点亮3秒钟,起到节能环保及保密的作用(它只显示了一位密码)。
在电路中,有一个蜂鸣器,是做提示用的:不管你的按键按时长短,在按下的一刹那都会发一个相同的短音,提示你有效按下了按键,但不会让你知道你按下的是长按还是短按。只有长按超过2秒时,在2秒、4秒、6秒的时间点上,还会各发一个短音,提示你按键时间已有2、4、6秒以上了。
5、各种硬件的选择与设计:
首先是确定单片机型号:2位的数码管需要8+2=10个I/O口,输入用单按钮开关一个、判断门是否已经开启的微动开关一个、声音输出一个、动力驱动一个,总共需要有14个I/O口。只要选具有23个I/O口的AVR-ATMEGA8就可以了。没有新做线路板,直接利用了做机器人用的6舵机控制板。
电源用4接7号可充电池,面板上设计一个充电口。为了节电与提高安全性,在电路里加入了一个钥匙开关,只在需要时才旋转钥匙使电路上电工作,平时取下钥匙时,电路是不工作不耗电的。正常上电工作电流在4-50MA。
显示装置选择2位LED数码管,0.28寸的,共阴。
6、作品简介:
如上所述,在ATMEGA128平台上大量反复实验的基础上,作品的雏型也在慢慢形成,功能也是
文档评论(0)