磁力智能锁





准备工作:
材料:
零件(附属链接)
- 49mm 电磁铁:https://www.ebay.com/itm/88-LB-40kg-Electric-Lift...
- 穿孔板:https://www.ebay.com/itm/88-LB-40kg-Electric-Lift...
- ESP8266开发板:https://www.ebay.com/itm/NodeMcu-Lua-WIFI-Interne...
- N沟道MOSFET: https://www.ebay.com/itm/NodeMcu-Lua-WIFI-Interne...
- 压电传感器:https://www.ebay.com/itm/NodeMcu-Lua-WIFI-Interne...
- 红外接近传感器(这不是我使用的,但我会从 PSU 获取并运行它):https://www.ebay.com/itm/NodeMcu-Lua-WIFI-Interne...
- 运算放大器模块:https://www.ebay.com/itm/NodeMcu-Lua-WIFI-Interne...
- 2个二极管
- 10K电阻
- 钢板
- 3D打印支架
- 3D打印电子盒
- 3D打印传感器盖
微控制器代码和接线图:https://github.com/calebbrewer/secret-knock-magne...
Web 应用程序代码:https://codepen.io/calebbrewer/pen/dJKBmw
3D模型
49mm 电磁铁安装支架:https://codepen.io/calebbrewer/pen/dJKBmw传感器盖/罩:https://codepen.io/calebbrewer/pen/dJKBmw
电路




基本上,ESP8266开发板从电源接收9伏电压到其板载调节器。电源的正极流向磁铁,地线流向场效应晶体管(MOSFET)的源极。场效应晶体管的漏极流向磁铁,场效应晶体管的栅极由微控制器上的引脚5打开。当引脚开启时,9伏电压流向磁铁。运算放大器接收来自换能器的模拟信号,放大后发送到模拟引脚。红外传感器向引脚14发送数字信号(换句话说,打开或关闭)。运算放大器和红外传感器均从微控制器获得3.3伏电源。哦,对了,所有东西都接地了。我发现使用9伏电压而不是额定12伏的磁铁可以让运行温度更低,同时仍然足够坚固,尤其是在我使用厚钢板的情况下。此外,微控制器上的调节器无法承受超过9伏的电压。您还需要添加电阻器和二极管,如图所示。
这里需要注意的是,根据压电振动传感器的放置位置以及连接传感器的导线长度,您可能不需要运算放大器。您只需将传感器的外环接地,将另一根导线连接到模拟输入,并在两根导线之间连接一个 1M 电阻即可。运算放大器只是对单端信号进行放大。
微控制器代码

通常情况下,这类项目会使用 Arduino,但我这次反其道而行之,使用了一款名为Espruino 的固件,它允许你在微控制器上运行 JavaScript。如果你感兴趣,我制作了一个完整的视频,教你如何使用 Espruino 烧写 Node MCU ESP8266 开发板。你应该看看。
在顶部,我设置了一些常量,例如:使用了哪些引脚以及秘密敲门的毫秒数计时数组。这是每次敲门之间的时间。我还设置了解锁和锁定门的功能,以及检查敲门是否正确。当电路板启动时,它会连接到 wifi 并创建一个可以接收控制门的命令的 Web 服务器。在连接到红外传感器的引脚上设置了一个监视,因此当传感器跳闸时将触发解锁功能。至于振动传感器……启动一个间隔,每毫秒读取振动传感器连接到的模拟引脚,如果信号高于设定的阈值,则捕获时间。如果捕获到足够多的振动,它将运行检查捕获的时间是否与秘密时间足够接近的功能。如果匹配,它就会打开门。
Web 应用控件

该 Web 应用只是一个包含一些 JavaScript 代码的网页,它会将命令发送到我们在微控制器上创建的 Web 服务器。我在 AWS S3 上将其创建为一个静态网站,并将其保存到手机主屏幕上。现在我可以解锁、锁门或保持解锁状态。我还可以保护该应用的安全,并设置我的网络,这样我就可以在任何有互联网连接的地方操作门窗。
您需要将代码中使用的IP地址更改为微控制器的IP地址。我已将路由器的IP地址预留,因此它永远不会改变。
电磁铁安装支架

我使用 Fusion 360,制作了一个适合 49 毫米电磁铁尺寸的支架。这是模型链接。然后我把它送入 3D 打印机。完成这个漫长得惊人的过程后,我给它涂了一层底漆,打磨干净,最后涂上了一些白漆。
安装磁铁和板








为了确保磁铁正确排列在钢板上,我用蓝色胶带盖住了钢板,将支架描绘到钢板上,然后标明安装孔的位置。
在硬金属上钻孔时,最好先用小钻头,然后逐渐加大。此外,还要用油润滑钻头。
我有一扇空心门,所以我将木栓完全穿过它,并在另一侧放置大垫圈以确保它不会被拉过去。
我用木螺钉将带磁铁的支架固定在框架上。然后,我将一根长电线焊接到磁铁上的电线上,并将电线穿过一长条白色护套。在内部,我将电线绕在门框上,一直到控制箱所在的位置。
控制箱




控制盒只是一个带盖的超级简单的盒子,是我建模并打印的。两个短边上留有孔,方便电线穿过。电路板就放在里面,红外传感器的LED灯则从我在侧面钻的孔中伸出来。
振动传感器和项目完成





为了连接振动传感器,我又连接了一根长线,穿过白色护套。为了把它安装到门上,我用了热熔胶。为了美观起见,我用一个3D打印的盖子盖住了传感器。
完成后,我将磁铁和振动传感器的电线焊接到电路板上的各自电线上。
我用胶带把门闩粘住(最后我把门闩全部拆了),然后做了一些清理工作,项目就完成了!











