几天前看《我爱发霉》,看到一个光码电子锁,于是产生了一个改变现在普通的钥匙锁的想法。由于原版太耗孔方兄,我就做了一个简单的光敏电阻识别开锁。【安全系数小,但就算是破译出解锁端光发出的频率也无法开锁,因为光敏电阻感受的阻值不一样照样无法开锁,根据这点,对开锁端LED的亮度在每次开锁后改变,只有开锁端的LED同步】
可以随便改密码,改密方法:可以在代码里更改光发出的间隔闪烁次数以及间隔时间。这里我将这个设置成:亮 →0.5秒→灭→1秒→亮→1.1秒→灭 ← 循环
为了提高安全,也可以做一个一次性密码,由时钟定时后随机改变后同步。
本次用到的是开发板,载STC89C52,(材料备齐自己做一个最小系统)
首先我们取出光敏电阻
将LED1连接开发板上的P1.0作为钥匙
我们写一段程序让LED亮 →0.5秒→灭→1秒→亮→1.1秒→亮 ← 循环
这里的0.5秒等的都不算严谨,但是在由光敏电阻感应那段程序【识别程序】是一样的时间间隔。
将LED对准光敏电阻上的两个突出物这样才能使光亮强度一致
代码已经写完。
需要一块电源,连接单片机的输出电源端,即使在识别突然停电的时候也会继续触发.如果你触发的是步进电机,就需要多点,别忘了加盐。
取出一个盒子然后将开锁的那段全移进去
后期的要真正使用的话,做个最小系统给开锁端即可,到时可以真正的给它缩小体积,换小点的芯片,只需一段简单的代码和一个口就行了就可以驱动开锁端了。
PS:将电源放在盒子外。
在开头已经说了,这个安全性小,但也不是随便就能开锁,感受的阻值不一样照样无法开锁,但如果两样都找出来的话,可以把这个改成类似“一次密码”,首先得给代码加密,第一次使用者开锁完成后,将锁端同步给开锁端随机同步Y条有效密码,在当时将所有信息显示给使用者,可以简单的用1602显示,下次开锁时由人工输入信息Y为几,如果不清楚这条信息就导致密码失效,只有等待一定时间再次同步,如果是使用者忘记信息,可以直接输入密码开锁。有人会问那不如做个直接输入密码的电子锁算了,其实光码锁的意义并不是能比电子锁安全性高多少,而是都在电子基础下提高开锁的快捷性,当然,我做的“钥匙”是有点大.....
本文转自:极客谜
本文转自网络,版权归原作者,如果您觉得不好,请联系我们删除!
广告
关于立创商城
立创商城(WWW.SZLCSC.COM)成立于2011年,致力于为客户提供一站式电子元器件线上采购服务,4小时闪电发货。拥有10000多平方米现代化元器件仓库,现货库存超160000种,集团电子全产业链自营服务涵盖:在线EDA(LCEDA)+行业领先的PCB打样/中小批量+元器件商城+钢网制造+SMT贴片+电子设计教育及方案。作为一家品种齐全、自营库存、质量有保障的电子元器件垂直商城,立创商城所有元器件均从原厂或代理商正规渠道采购,保证原装正品,为您提供专业的一站式电子元器件采购服务。