×
单片机 > 单片机程序设计 > 详情

打造单片机控光码电子锁

发布时间:2020-06-18 发布时间:
|

几天前看《我爱发霉》,看到一个光码电子锁,于是产生了一个改变现在普通的钥匙锁的想法。由于原版太耗孔方兄,我就做了一个简单的光敏电阻识别开锁。【安全系数小,但就算是破译出解锁端光发出的频率也无法开锁,因为光敏电阻感受的阻值不一样照样无法开锁,根据这点,对开锁端LED的亮度在每次开锁后改变,只有开锁端的LED同步】


可以随便改密码,改密方法:可以在代码里更改光发出的间隔闪烁次数以及间隔时间。这里我将这个设置成:亮 →0.5秒→灭→1秒→亮→1.1秒→灭     ← 循环为了提高安全,也可以做一个一次性密码,由时钟定时后随机改变后同步。本次用到的是开发板,载STC89C52,(材料备齐自己做一个最小系统)



首先我们取出光敏电阻


将LED1连接开发板上的P1.0作为钥匙


我们写一段程序让LED亮 →0.5秒→灭→1秒→亮→1.1秒→亮      ← 循环


这里的0.5秒等的都不算严谨,但是在由光敏电阻感应那段程序【识别程序】是一样的时间间隔。


将LED对准光敏电阻上的两个突出物这样才能使光亮强度一致


代码已经写完。



需要一块电源,连接单片机的输出电源端,即使在识别突然停电的时候也会继续触发.如果你触发的是步进电机,就需要多点,别忘了加盐。



取出一个盒子然后将开锁的那段全移进去



后期的要真正使用的话,做个最小系统给开锁端即可,到时可以真正的给它缩小体积,换小点的芯片,只需一段简单的代码和一个口就行了就可以驱动开锁端了。PS:将电源放在盒子外。


在开头已经说了,这个安全性小,但也不是随便就能开锁,感受的阻值不一样照样无法开锁,但如果两样都找出来的话,可以把这个改成类似“一次密码”,首先得给代码加密,第一次使用者开锁完成后,将锁端同步给开锁端随机同步Y条有效密码,在当时将所有信息显示给使用者,可以简单的用1602显示,下次开锁时由人工输入信息Y为几,如果不清楚这条信息就导致密码失效,只有等待一定时间再次同步,如果是使用者忘记信息,可以直接输入密码开锁。有人会问那不如做个直接输入密码的电子锁算了,其实光码锁的意义并不是能比电子锁安全性高多少,而是都在电子基础下提高开锁的快捷性,当然,我做的“钥匙”是有点大.....


关键字:单片机  控光码  电子锁

『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
C51 特殊功能寄存器SFR的名称和地址