熊力維
隨著經(jīng)濟(jì)和技術(shù)水平的提高,以及近年來自動化控制技術(shù)、網(wǎng)絡(luò)通信技術(shù),以及計(jì)算機(jī)技術(shù)的迅猛發(fā)展,除工業(yè)各領(lǐng)域?qū)崿F(xiàn)智能化和自動化,在家居生活方面,對智能化和自動化的要求也逐漸提高。尤其在智慧城市和物聯(lián)網(wǎng)技術(shù)逐漸興起的今天,智能家居控制系統(tǒng)能夠?qū)崿F(xiàn)實(shí)時(shí)監(jiān)控和控制生活環(huán)境,為人們營造更為舒適和安全的環(huán)境,提高生活質(zhì)量的同時(shí),增加了安全可靠性,同時(shí)節(jié)約時(shí)間和資金成本。設(shè)計(jì)、普及和推廣智能家居控制系統(tǒng)顯得尤為必要。
Arduino開發(fā)板,有其獨(dú)特的開源性,能夠較為便利地進(jìn)行硬件的二次開發(fā),通過接入其他電子元器件,如輸入信號的各種傳感器,通信模塊,用來顯示的模塊,輸出控制設(shè)備,以及其他外圍設(shè)備,實(shí)現(xiàn)客戶需要達(dá)到的控制要求。本設(shè)計(jì)的控制核心采用Arduino開發(fā)板。它是基于一種Simple I/O平臺,可開放原始代碼,同時(shí)采用類似于C/C++或Java 的語言開發(fā)環(huán)境,可快速掌握Flash、Processing和Arduino語言[1],實(shí)現(xiàn)各種創(chuàng)新的作品,尤其是近幾年又推出了一種可視化的設(shè)計(jì)手段,可以在硬件開發(fā)之前使用仿真手段進(jìn)行驗(yàn)證,使得開發(fā)的門檻降低。因此,筆者選擇Arduino開發(fā)板,配合其各種擴(kuò)展板、傳感器,能夠很好的實(shí)現(xiàn)智能家居的設(shè)計(jì)開發(fā)。
圖1 Arduino主板實(shí)物圖
本設(shè)計(jì)將一系列傳感器分別安置在房間的各個(gè)角落,例如用煙霧、火焰?zhèn)鞲衅髋c溫控器來檢測廚房燒菜時(shí)的情況,用溫濕度傳感器來檢測衛(wèi)生間的滲水情況,用氣體、雨滴傳感器檢測外部的天氣情況,并據(jù)此考慮房間的通風(fēng)問題,光照傳感器用來檢測采光情況,并據(jù)此考慮窗簾是否關(guān)閉,屋內(nèi)是否需要開燈等等。將采集到的數(shù)據(jù)匯總后,由Arduino處理器進(jìn)行運(yùn)算處理,然后驅(qū)動執(zhí)行機(jī)構(gòu)運(yùn)作,如電動機(jī)負(fù)責(zé)窗簾的動作,LED燈負(fù)責(zé)照明,蜂鳴器負(fù)責(zé)報(bào)警。這些傳感器全天候地根據(jù)周圍環(huán)境的變化實(shí)時(shí)采集數(shù)據(jù),反饋給中央控制系統(tǒng),改變執(zhí)行機(jī)構(gòu)的運(yùn)行狀態(tài),從而形成一個(gè)閉環(huán)的控制系統(tǒng)[2]。
圖2 智能家居構(gòu)想示意圖
總體設(shè)計(jì)以Arduino開發(fā)板作為控制器,即中央控制系統(tǒng),通過各種傳感器、檢測模塊實(shí)現(xiàn)采集、檢測周圍環(huán)境的變化和用戶的動作,經(jīng)由無線的方式發(fā)送給系統(tǒng),系統(tǒng)處理之后,驅(qū)動各執(zhí)行機(jī)構(gòu)發(fā)出響應(yīng)。為了更好地改善用戶的體驗(yàn),我們將收集的數(shù)據(jù)傳送至用戶終端,并在終端控制系統(tǒng)上設(shè)置語音執(zhí)行模塊,以方便用戶發(fā)送指令。
圖3 系統(tǒng)設(shè)計(jì)方案
該系統(tǒng)的硬件部分除了Arduino控制器之外,還采用了一些傳感器和執(zhí)行部件。
圖4 硬件部分仿真效果
光照傳感器的功能是光照強(qiáng)度的檢測,將檢測到的光照強(qiáng)度值轉(zhuǎn)化成電壓值。本設(shè)計(jì)中,該傳感器的作用是用于檢測外界光線強(qiáng)度,然后發(fā)送信號給中央控制器,以決定是否需要點(diǎn)亮屋內(nèi)的LED燈以及驅(qū)動電機(jī)控制窗簾的打開與關(guān)閉。
溫濕度檢測采用溫濕度一體化傳感器,更節(jié)約成本,它包括檢測模塊探頭和數(shù)字化處理電路兩部分,探頭利用數(shù)字集成傳感器制作,數(shù)字化處理電路,可將檢測到的模擬量數(shù)據(jù)轉(zhuǎn)換成對應(yīng)的標(biāo)準(zhǔn)模擬信號,如0~10V電壓信號或4~20mA電流信號等,實(shí)現(xiàn)溫度和相對濕度的數(shù)據(jù)采集。本控制系統(tǒng)的設(shè)計(jì)中,這類傳感器主要安置在廚房、衛(wèi)生間的環(huán)境中,用于檢測廚房做飯時(shí)的溫濕度和衛(wèi)生間使用時(shí)的溫濕度變化,如果出現(xiàn)異常則驅(qū)動蜂鳴器發(fā)出報(bào)警信號。
火焰?zhèn)鞲衅?,通過紅外線來接收檢測火焰亮度,轉(zhuǎn)化成電平信號,火焰大,亮度高,轉(zhuǎn)化成高電平,火焰低,亮度低,轉(zhuǎn)化成低電平。中央處理器通過輸入端采集此高低電平信號,再經(jīng)程序執(zhí)行和處理。本設(shè)計(jì)中用來檢測廚房燒菜時(shí)火焰過大的異常情況。
煙霧傳感器即煙感報(bào)警器,俗語煙霧報(bào)警器,通過空氣中煙霧的濃度來判定現(xiàn)場環(huán)境的安全性。當(dāng)空氣中煙霧濃度大于標(biāo)準(zhǔn)值時(shí),煙感報(bào)警器發(fā)出報(bào)警,提醒用戶房間煙霧濃度超標(biāo),其被各種消防報(bào)警系統(tǒng)廣泛運(yùn)用,該傳感器除了廚房以外,還可以安置在客廳,臥室等其他房間。
執(zhí)行機(jī)構(gòu)采用定位精準(zhǔn)的伺服電機(jī),用來控制窗簾開關(guān)的速度,將電壓或電流信號轉(zhuǎn)換成轉(zhuǎn)矩和轉(zhuǎn)速,即把電信號轉(zhuǎn)換成電動機(jī)轉(zhuǎn)子上的角位移或角速度輸出,從而驅(qū)動被控制對象。由于伺服電機(jī)轉(zhuǎn)子轉(zhuǎn)速能夠?qū)崟r(shí)受控輸入信號,并及時(shí)作出反應(yīng),將其作為執(zhí)行元件,具有線性度高、滯后時(shí)間常數(shù)短等特性。
LED指示燈即發(fā)光二極管,將電能轉(zhuǎn)換成光能,屬于一種固態(tài)半導(dǎo)體器件。本設(shè)計(jì)利用Arduino 開發(fā)板的 PWM脈寬調(diào)制功能,通過控制半導(dǎo)體器件的通斷,輸出占空比可變的脈沖波形的原理[3],改變逆變電路輸出電壓的大小和輸出頻率,從而使LED燈的亮度能夠自動調(diào)節(jié),對用戶的視力起到保護(hù)作用。
圖5 PWM原理圖
蜂鳴器常用于洗衣機(jī)、復(fù)印機(jī)、定時(shí)器、汽車電子設(shè)備、報(bào)警裝置等,將電信號轉(zhuǎn)換成聲音信號,是一種一體化結(jié)構(gòu)的電子訊響器,在本設(shè)計(jì)中用于傳感器收集到異常信號時(shí)的報(bào)警裝置。
在進(jìn)行硬件的連接之后,軟件工作的主要內(nèi)容是讀取各個(gè)傳感器的信號,送入Arduino進(jìn)行算法處理,然后根據(jù)處理的結(jié)果控制執(zhí)行結(jié)構(gòu)產(chǎn)生響應(yīng)。筆者在正式的硬件方案實(shí)施之前,先采用Proteus軟件進(jìn)行硬件的仿真,并結(jié)合最新的可視化設(shè)計(jì)手段,如圖6所示,設(shè)計(jì)流程清晰,并能調(diào)用傳感器自帶的函數(shù)(俗稱“方法”)進(jìn)行設(shè)計(jì)[4],屏蔽了接口上的諸多細(xì)節(jié),使得軟件的開發(fā)效率更高。
圖6 可視化設(shè)計(jì)
在以上可視化設(shè)計(jì)中展示了部分軟件設(shè)計(jì),包括調(diào)用溫濕度傳感器的方法readTemperatue()和readHumidity()函數(shù)讀取當(dāng)前環(huán)境的溫度和濕度模擬值,將其轉(zhuǎn)換為相應(yīng)的數(shù)字信號,同時(shí)用光照傳感器中的readLuminance()方法讀取當(dāng)前的光照強(qiáng)度,將上述傳感器獲得的數(shù)值分別保存在變量t、h和Lux中,然后將獲取的參數(shù)與用戶預(yù)先設(shè)定的閾值做比較,一旦超過閾值,將蜂鳴器置位ON,LED燈置位ON,控制電動機(jī)正轉(zhuǎn)帶動窗簾打開。如果讀取的數(shù)值沒有超過用戶設(shè)定的閾值,則將蜂鳴器設(shè)為OFF,LED燈設(shè)為OFF,電動機(jī)反轉(zhuǎn)帶動窗簾關(guān)閉,直至相應(yīng)的限位停止運(yùn)行。用戶可以隨時(shí)改變閾值來修改執(zhí)行機(jī)構(gòu)的執(zhí)行條件,達(dá)到適合用戶的要求為止。
此控制系統(tǒng)以Arduino為核心,接入各種傳感檢測裝置,充分采集環(huán)境的各種變量,設(shè)計(jì)方案相對簡單,能夠滿足大多人群需求,如果有更高智能控制的要求,可以進(jìn)行個(gè)性化的定制設(shè)計(jì)。例如,想要知道當(dāng)前房間中有多少人,可增加紅外傳感器,通過檢測人體體溫信號感知當(dāng)前房間里活動的人員數(shù)量等等。
隨著現(xiàn)代新興技術(shù)的飛速發(fā)展,智能家居控制將占據(jù)越來越大的市場,將基于Android控制的系統(tǒng),在其終端開發(fā)成APP,便于用戶隨時(shí)監(jiān)控并操作,甚至加入語音識別功能,AI學(xué)習(xí)功能等,根據(jù)用戶個(gè)人喜好,滿足用戶工作和生活上的需求。