一直想做一个用手机、指纹或面部识别控制的门锁,可以控制家门和车库门,但一直没找到时间做。最近开始着手制作。开贴记录一下制作过程。 最初打算买一个电控锁,加上自动控制部分就可以了。所以,从网上买了一个这样的电控锁,还带钥匙,万一没电了,还可以用钥匙开门。本来这种方案挺好的,可惜我的门不适合安装,需要做改造才行,太麻烦了。 所以,只能换一种方案,就是在现有门锁上,加一个机械臂来控制门锁。这个方案显得很不专业。但是,这个可以无损安装。无论黑猫白猫,能开门就是好猫。我的门锁就是澳洲最常见的门锁。门锁背面有一个小旋钮,就是打算用机械臂来控制这个小旋钮来开锁。 完成这个功能需要这几部分: 1. 控制器(我选用带WiFi功能的ESP8266 NodeMCU V3) 2. 机械臂(自己画,3D打印出来) 3. 两个Servo(控制机械臂和转动开锁旋钮) 4. 指纹传感器 5. 5V继电器 6. RGB LED(指示灯) ESP8266 NodeMCU V3这个板子带WiFi功能,可以像使用Arduino一样来编程。我对Arduino比较熟悉,所以使用这个板子也没什么问题。需要注意的是板子上标注的腿号,比如D0,D1…..和在程序中使用的腿号不一样。如下图,在程序里必须使用它实际的GPIO腿号。比如要是用D0腿,就要用16。这个板子,使用5V直流电就可以。通过USB连接到电脑,使用Arduino IDE开发工具就可以编程了。 关于机械臂,我习惯使用Autodesk Fusion 360来画3D模型。很早前用过3D Max画模型,感觉太难用了。后来才知道,3D Max根本不是干这个用的。自从接触了Fusion 360,感觉这个软件真好用。比专业的SolidWorks容易使用,还具备大部分的功能,足够我用了。我画的机械臂很简单,就像下图的样子。两个伺服电机固定在上面,一个控制机械臂旋转,一个控制开锁的旋钮。我先使用了那种很小的9G伺服电机,结果发现不能用,力量太小了。后来换成了这种功率比较大的伺服电机。 关于指纹传感器,我也是从国内买的。这个传感器还挺好用的,识别率很高。可以保存240个指纹,足够用了。用指纹传感器配套的软件,先注册指纹。等注册好了以后,控制板通过软串口和指纹传感器连接,读取传感器的信息。当有指纹接触到传感器,如果是已经注册的指纹,传感器返回指纹的ID。如果是没注册的,返回-1。所以,当识别出指纹后,不仅能知道是已经注册的指纹,还能得到指纹的ID,也就是说,可以知道是谁的指纹,是哪个手指的指纹。 |