用Arduino做一個車庫門開啟器

 

做這個項目的動機是:忘記帶鑰匙被困在雨中。你可以通過Arduino主控的網頁來觸發一個車庫門開啟器。當Arduino連入無線網絡,你可以將智能手機連接網頁服務器,並鍵入密碼,激活車庫門,在被雨淋之前進去。一個MegunoLink Pro接口面板用於配置程序,可以設置多達10個密碼,存儲在設備的EEPROM.

硬件

 

硬件相當簡單:

一個Arduino Etherten – 與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,並列出存儲密碼。一個數字空間用於選擇密碼槽,文本控件用於鍵入密碼。每項配置都在下表中給出。控制車庫門開啟器接口面板的配置。