用Arduino做一个车库门开启器
0赞做这个项目的动机是:忘记带钥匙被困在雨中。你可以通过Arduino主控的网页来触发一个车库门开启器。当Arduino连入无线网络,你可以将智能手机连接网页服务器,并键入密码,激活车库门,在被雨淋之前进去。一个MegunoLink Pro接口面板用于配置程序,可以设置多达10个密码,存储在设备的EEPROM.
硬件
硬件相当简单:
一个ArduinoEtherten- 与Arduino Uno完全兼容,这个Etherten 包括一个基于WIZnet芯片(用于官方Arduino插板)的以太网模块。你可以在这个项目中使用Arduino Uno+ 以太网插板或者Arduino以太网板。
一个继电器用于激活车库门开关工具。多数的车库门电机在车库内侧的门旁边有一个低电压开关。继电器与开关平行工作,这样Arduino可以无需终端正常操作就激活车库门。确保开关在连线之前是低电压(安全)的。
晶体管控制继电器开/关。任何小信号晶体管都可以做到,比如2N2222或者2N3904。
源码:
所有源码都在BOX上已提供。所需库文件副本在”Libraries”文件夹中。项目被设置为:使用Visual Studio Arduino 建造工具,也可以在Arduino IDE中工作。
Program.cpp是程序的核心。你可以找到设置和循环功能,即初始化串口命令处理和网页服务器。
Webserver.h/Webserver.cpp控制着网页服务器,返回用户要求的页面。它提供了一种模式,即需要密码且核对提交的密码,而且不会存储密码。我们使用可靠的Webduino库来创建网页服务器。
CommandProcessing.h/CommandProcessing.cpp负责串口命令的处理。命令支持以下几点:
- init-pwdr:初始化eeprom来存储密码。所有存储的密码都被清除。
- list-pwdr:列出存储在eeprom中的密码。
- set-pwd [Password Slot] [Password]r:在eeprom中保存一个新密码。这里[Password Slot],一个从1到10的数字,设一个储存口令的位置,并且 [Password]是存储的密码。
配置接口
他们在 MegunoLink Pro中使用接口面板和穿行监控可视化工具,制作一个简单的接口来通过Arduino串口配置车库门开启器。通过在接口面满上设置的控制,不再需要记得串口命令。所以按按钮就可以初始化EEPROM,并列出存储密码。一个数字空间用于选择密码槽,文本控件用于键入密码。每项配置都在下表中给出。控制车库门开启器接口面板的配置。