文/劉越揚 徐云龍 胥薇 周源源
基于Arduino的智能集成控制終端的實現
文/劉越揚 徐云龍 胥薇 周源源
本文主要介紹了一種基于Arduino UNO平臺的集成控制終端,本終端主要包括無線模塊、紅外/串口遙控模塊、環境感知模塊。通過換用不同精度、不同種類的傳感器,實現不同場景下的環境監測,電氣設備調整的功能。該設計作為低成本的物聯網感知層設備,具有較大的發展空間。
Arduino單片機 智能控制
Arduino是一款開源AVR平臺。采用類似Java、C語言的Processing/Wiring開發環境,能通過各種各樣的傳感器來感知環境狀況,也可以控制LED、電機等裝置。本文提出一種基于Arduino的智能集成控制終端的設計方案,具有環境數據采集,分析,無人值守運行的功能。
由Arduino UNO r3主板,配合DHT11溫濕度傳感器,SW-420常閉型震動傳感器,HC-SR501熱釋電紅外傳感器,光敏電阻,38KH紅外發射管組成,集成HC-06藍牙模塊。
手持終端部分采用JAVA編寫,可以實時讀取回傳數據,串口上傳指令;PC端采用Python編寫。終端根據預先設定好的條件或者用戶從串口上傳的數據,調用相關傳感器,或通過紅外發送相關指令。如圖1所示。

圖1:系統設計
本設計采用Arduino UNO最新的r3版本,采用ATmega328核心,具有14路數字輸入/輸出,6路模擬輸入能力。封裝32 KB Flash Memory ,工作時鐘 16 MHz。
本設計采用的DHT11溫濕度傳感器是一款已校準數字信號輸出的溫濕度復合傳感器,其中包括一個電阻式感濕元件和一個NTC測溫元件,并與一個高性能的單片機相連接。每個DHT11傳感器都在極為精確的濕度校驗室中進行校準。校準系數以程序的形式儲存在OTF內存中,傳感器內部在檢測信號的處理過程中要調用這些校準系數。因此該傳感器具有響應快、抗干擾能力強、性價比高等優點。
本設計采用HC SR501熱釋電紅外線自動控制模塊,采用LHI778探頭設計,具有靈敏度高、可靠性強的特點和超低電壓工作模式。當有人進入其感應范圍時輸入高電平,人離開感應范圍則自動延時,關閉高電平,輸出低電平。本文采用可重復觸發方式:即感應輸出高電平后,在延時時間段內,如果有人體在其感應范圍內活動,其輸出將一直保持高電平,直到人離開后才延時將高電平變為低電平(感應模塊檢測到人體的每一次活動后會自動順延一個延時時間段,并且以最后一次活動的時間為延時時間的起始點)。
本設計采用SW-420震動傳感器,該傳感器采用單滾軸型全方位感應觸發開關,在靜止時處于常通狀況,當有振動或傾斜時,開關內導電的滾軸會產生移動或振動,從而導致通過的電流斷開或電阻阻值的升高而觸發電路。通過IC的設置,可按自身產品的靈敏度要求作調整。
軟件邏輯如圖2所示。

圖2:軟件設計


●蘇州大學應用技術學院第十九批大學生課外學術科研基金項目 KY20171051B。


針對支持紅外遙控的受控設備,本設計利用Arduino IRremote庫來解碼遙控器發出的紅外指令,并保存在Arduino的Flash中,在需要時調用。同時,該庫也支持將原始的二進制信號編碼轉換成38KHz的脈沖信號,驅動紅外LED發送相應的指令。
目前市面上的設備大多采用NEC紅外協議,本設計以NEC紅外協議為例。NEC編碼一幀含有引導碼(9ms高電平4.5ms低電平)、地址碼(16bits)及數據碼(16bits)3部分。
邏輯1與邏輯0的表示如圖3所示。

圖3:NEC 0,1邏輯
紅外編、解碼軟件邏輯如圖4所示。

圖4:紅外軟件設計


Arduino自身不具備多線程功能,這里調用Scoop庫文件。Scoop通過合理安排中斷的響應和服務方式來對多個任務的實時線程進行處理;以循環方式掃描各個任務的線程標識,滿足條件的線程被激活運行。

按本方案設計的集成控制終端能夠實現藍牙控制和數據回傳,并能夠通過發送相應的紅外編碼控制設備的啟停。
手機端/電腦端如圖5所示。


圖5:手機端/電腦端
但本方案也存在以下一些問題:
(1)紅外信號可能會受到外界光線的干擾;
(2)軟件的功能較為單一;
(3)藍牙的傳輸距離較短。
(通訊作者:徐云龍)
[1]王勝.基于Android平臺家庭智能系統的研究與實現[D].南京郵電大學,2013.
[2]賈瑞.基于Arduino Mega2560的無線監控小車設計[J].數字技術與應用,2013.
[3]王耕.基于Arduino Due智能家居控制系統設計[D].西北大學,2015.
[4]聶詩良,李磊民.采用單片機發送并接收紅外遙控信號的方法[J].信息技術,2004.
[5]倪天龍.單總線傳感器DHT11在溫濕度測控中的應用[J].單片機與嵌入式系統應用,2010.
[6]李濤.基于Android的智能家居APP的設計與實現[D].蘇州大學,2014.
[7]張西波.基于Python實現設備控制臺的集中控制和管理[J].計算技術與自動化,2016.
作者單位蘇州大學應用技術學院 江蘇省蘇州市215006
徐云龍(1964-),男,副教授。主要研究方向為操作系統,機器學習,大數據。