文/劉越揚 徐云龍 胥薇 周源源
基于Arduino的智能集成控制終端的實現(xiàn)
文/劉越揚 徐云龍 胥薇 周源源
本文主要介紹了一種基于Arduino UNO平臺的集成控制終端,本終端主要包括無線模塊、紅外/串口遙控模塊、環(huán)境感知模塊。通過換用不同精度、不同種類的傳感器,實現(xiàn)不同場景下的環(huán)境監(jiān)測,電氣設(shè)備調(diào)整的功能。該設(shè)計作為低成本的物聯(lián)網(wǎng)感知層設(shè)備,具有較大的發(fā)展空間。
Arduino單片機 智能控制
Arduino是一款開源AVR平臺。采用類似Java、C語言的Processing/Wiring開發(fā)環(huán)境,能通過各種各樣的傳感器來感知環(huán)境狀況,也可以控制LED、電機等裝置。本文提出一種基于Arduino的智能集成控制終端的設(shè)計方案,具有環(huán)境數(shù)據(jù)采集,分析,無人值守運行的功能。
由Arduino UNO r3主板,配合DHT11溫濕度傳感器,SW-420常閉型震動傳感器,HC-SR501熱釋電紅外傳感器,光敏電阻,38KH紅外發(fā)射管組成,集成HC-06藍(lán)牙模塊。
手持終端部分采用JAVA編寫,可以實時讀取回傳數(shù)據(jù),串口上傳指令;PC端采用Python編寫。終端根據(jù)預(yù)先設(shè)定好的條件或者用戶從串口上傳的數(shù)據(jù),調(diào)用相關(guān)傳感器,或通過紅外發(fā)送相關(guān)指令。如圖1所示。
圖1:系統(tǒng)設(shè)計
本設(shè)計采用Arduino UNO最新的r3版本,采用ATmega328核心,具有14路數(shù)字輸入/輸出,6路模擬輸入能力。封裝32 KB Flash Memory ,工作時鐘 16 MHz。
本設(shè)計采用的DHT11溫濕度傳感器是一款已校準(zhǔn)數(shù)字信號輸出的溫濕度復(fù)合傳感器,其中包括一個電阻式感濕元件和一個NTC測溫元件,并與一個高性能的單片機相連接。每個DHT11傳感器都在極為精確的濕度校驗室中進行校準(zhǔn)。校準(zhǔn)系數(shù)以程序的形式儲存在OTF內(nèi)存中,傳感器內(nèi)部在檢測信號的處理過程中要調(diào)用這些校準(zhǔn)系數(shù)。因此該傳感器具有響應(yīng)快、抗干擾能力強、性價比高等優(yōu)點。
本設(shè)計采用HC SR501熱釋電紅外線自動控制模塊,采用LHI778探頭設(shè)計,具有靈敏度高、可靠性強的特點和超低電壓工作模式。當(dāng)有人進入其感應(yīng)范圍時輸入高電平,人離開感應(yīng)范圍則自動延時,關(guān)閉高電平,輸出低電平。本文采用可重復(fù)觸發(fā)方式:即感應(yīng)輸出高電平后,在延時時間段內(nèi),如果有人體在其感應(yīng)范圍內(nèi)活動,其輸出將一直保持高電平,直到人離開后才延時將高電平變?yōu)榈碗娖?感應(yīng)模塊檢測到人體的每一次活動后會自動順延一個延時時間段,并且以最后一次活動的時間為延時時間的起始點)。
本設(shè)計采用SW-420震動傳感器,該傳感器采用單滾軸型全方位感應(yīng)觸發(fā)開關(guān),在靜止時處于常通狀況,當(dāng)有振動或傾斜時,開關(guān)內(nèi)導(dǎo)電的滾軸會產(chǎn)生移動或振動,從而導(dǎo)致通過的電流斷開或電阻阻值的升高而觸發(fā)電路。通過IC的設(shè)置,可按自身產(chǎn)品的靈敏度要求作調(diào)整。
軟件邏輯如圖2所示。
圖2:軟件設(shè)計
●蘇州大學(xué)應(yīng)用技術(shù)學(xué)院第十九批大學(xué)生課外學(xué)術(shù)科研基金項目 KY20171051B。
針對支持紅外遙控的受控設(shè)備,本設(shè)計利用Arduino IRremote庫來解碼遙控器發(fā)出的紅外指令,并保存在Arduino的Flash中,在需要時調(diào)用。同時,該庫也支持將原始的二進制信號編碼轉(zhuǎn)換成38KHz的脈沖信號,驅(qū)動紅外LED發(fā)送相應(yīng)的指令。
目前市面上的設(shè)備大多采用NEC紅外協(xié)議,本設(shè)計以NEC紅外協(xié)議為例。NEC編碼一幀含有引導(dǎo)碼(9ms高電平4.5ms低電平)、地址碼(16bits)及數(shù)據(jù)碼(16bits)3部分。
邏輯1與邏輯0的表示如圖3所示。
圖3:NEC 0,1邏輯
紅外編、解碼軟件邏輯如圖4所示。
圖4:紅外軟件設(shè)計
Arduino自身不具備多線程功能,這里調(diào)用Scoop庫文件。Scoop通過合理安排中斷的響應(yīng)和服務(wù)方式來對多個任務(wù)的實時線程進行處理;以循環(huán)方式掃描各個任務(wù)的線程標(biāo)識,滿足條件的線程被激活運行。
按本方案設(shè)計的集成控制終端能夠?qū)崿F(xiàn)藍(lán)牙控制和數(shù)據(jù)回傳,并能夠通過發(fā)送相應(yīng)的紅外編碼控制設(shè)備的啟停。
手機端/電腦端如圖5所示。
圖5:手機端/電腦端
但本方案也存在以下一些問題:
(1)紅外信號可能會受到外界光線的干擾;
(2)軟件的功能較為單一;
(3)藍(lán)牙的傳輸距離較短。
(通訊作者:徐云龍)
[1]王勝.基于Android平臺家庭智能系統(tǒng)的研究與實現(xiàn)[D].南京郵電大學(xué),2013.
[2]賈瑞.基于Arduino Mega2560的無線監(jiān)控小車設(shè)計[J].數(shù)字技術(shù)與應(yīng)用,2013.
[3]王耕.基于Arduino Due智能家居控制系統(tǒng)設(shè)計[D].西北大學(xué),2015.
[4]聶詩良,李磊民.采用單片機發(fā)送并接收紅外遙控信號的方法[J].信息技術(shù),2004.
[5]倪天龍.單總線傳感器DHT11在溫濕度測控中的應(yīng)用[J].單片機與嵌入式系統(tǒng)應(yīng)用,2010.
[6]李濤.基于Android的智能家居APP的設(shè)計與實現(xiàn)[D].蘇州大學(xué),2014.
[7]張西波.基于Python實現(xiàn)設(shè)備控制臺的集中控制和管理[J].計算技術(shù)與自動化,2016.
作者單位蘇州大學(xué)應(yīng)用技術(shù)學(xué)院 江蘇省蘇州市215006
徐云龍(1964-),男,副教授。主要研究方向為操作系統(tǒng),機器學(xué)習(xí),大數(shù)據(jù)。