通过舵机牵引实现开关锁的宿舍玩具指纹锁
在网上看到过这玩意儿,就想着自己做一个。学校的治安很好,平时钥匙都是放在门口,所以无需在意安全等级,就只是好玩。
本项目使用STM32F030F4P6作为主控,这是优信上最便宜的STM32主控,因为本项目也无需复杂运算和大量引脚,再加上本人非常喜欢STM32CUBE,所以就选了这款。指纹模块选择的AS608,它自带官方上位机,可以现在电脑上录入指纹,再接上板子串口通信,常见且方便。舵机就随便选了个,打开寝室的门锁不需要太大的力气。电量检测就用LM321运放。LED用的5050显示电量,无他,感觉颜值要高一点。最后就是接口都用的XT30\MR30,确实没必要,但是颜值高啊。
用的CUBEMX加keil,下一个项目想试一下CUBEIDE,没用稚晖君推荐的Clion是因为感觉跳转总是有些问题,keil+vscode用着也不错。因为用的HAL库,所以很方便更换内存大一点的芯片或者二次开发(这个芯片的内存真的太小了,我这么点程序基本就占满空间了。
对哈,好像还没写注释,不过代码也很简单,有空就加注释。反正就加了个“AS608.C”专门和指纹模块通信。
因为其他元件静态功耗太大了,就懒得写待机了。
因为AS608一直开着实在太耗电了,就加了个电子开关,先开始用的三极管加光耦,结果直接烧了,就换成了MOS管开关。AS608有两套电路,有一路检测是否有手指,有的话升高电平。本来想用个D触发器直接reset MCU ,MCU平时就可以待机,不知道怎没有奏效,还是数电没学好,有时间再改。LDO用的长电的1117,现在才知道那玩意儿的静态电流贼高,下次换个LDO.电量检测就是把实际电压缩了四分之一加了个电压跟随器。
实测没有动作时电流大约15mA,AS608开始工作后约80mA,AS608停止工作,舵机工作约300mA。