基于單片機的智能窗戶控制系統(tǒng)的設計
引 言
隨著科技的進步,智能化家具不斷發(fā)展?,F(xiàn)代社會人們工作繁忙、早出晚歸,常常忘記關(guān)窗。當遇到惡劣天氣或小偷潛入時,可能會造成不必要的財產(chǎn)損失。所以傳統(tǒng)的手動開關(guān)窗已無法滿足人們對于更高生活品質(zhì)的要求。因此需要開發(fā)一種能夠收集外界情況,且能在雨天、刮風天自動關(guān)窗,同時實現(xiàn)防盜功能的智能窗戶 [1]。
STC89C52 單片機以其結(jié)構(gòu)簡單、價格低廉在控制領域得到廣泛應用。文獻 [2] 以 STC89C52 為控制器, 利用A/D 轉(zhuǎn)換技術(shù),pH 傳感器和溫度補償模塊設計了一種能夠準確測量溶液 pH 值的 pH 值測量儀。文獻 [3] 以 STC89C52 為控制器,采用達林頓陣列、繼電器隊列和LED 燈組設計了一套智能交通燈控制系統(tǒng),可受上位機控制。文獻 [4] 以STC89C52 為控制器,采用溫度傳感器和無線遙控模塊設計了一種智能風扇控制系統(tǒng),在溫度高時可自動換擋。文獻 [5] 以STC89C52 為控制器,采用藍牙串口模塊、紅外熱釋模塊和電機驅(qū)動模塊設計了一種智能全自動洗衣機控制系統(tǒng),該系統(tǒng)可無線設定洗衣模式和洗衣時間,出現(xiàn)突發(fā)情況可及時報警。文獻 [6] 以STC89C52 為控制器,采用紅外避障模塊、超聲波測距模塊和電機驅(qū)動模塊設計了一套自動泊車智能小車控制系統(tǒng),該系統(tǒng)可自動規(guī)避障礙物并將車停入車庫。文獻 [7] 以STC89C52 為控制器,利用多種傳感器設計了一套家庭智能安防系統(tǒng),在火災和煤氣泄漏時系統(tǒng)可自動報警,可實現(xiàn)防盜功能。
本文以 STC89C52 單片機為控制器來設計智能窗戶控制系統(tǒng),由光電傳感器、溫濕度傳感器、紅外傳感器等模塊檢測天氣情況,經(jīng)處理后傳入單片機,單片機對信號進行運算處理,再將輸出信號送入電機驅(qū)動模塊、顯示模塊或蜂鳴器模塊。同時,用戶還可通過紅外遙控器手動控制窗戶開關(guān),使生活更加方便、舒適 [8]。
1 總體設計方案
本系統(tǒng)基于STC89C52 單片機系統(tǒng)設計,由光電傳感器模塊、溫濕度傳感器模塊、碰撞傳感器模塊、紅外傳感器模塊、紅外遙控模塊、蜂鳴器報警模塊、顯示模塊、電機驅(qū)動模塊等組成。其原理框圖如圖 1 所示。
溫濕度傳感器模塊檢測窗戶周邊的溫濕度,通過A/D 采樣傳輸?shù)絾纹瑱C、顯示器,經(jīng)單片機處理后,當溫度高于30℃時控制電機正向轉(zhuǎn)動以打開窗戶,低于10℃時控制電機反向轉(zhuǎn)動以關(guān)閉窗戶。光電傳感器模塊檢測窗戶行進路線中是否存在障礙物,經(jīng)單片機處理后,若有障礙物則控制電機停止運行,反之則控制電機持續(xù)運行。雨滴傳感器模塊檢測是否下雨, 經(jīng)單片機處理后,下雨時控制電機反轉(zhuǎn)關(guān)閉窗戶,反之控制電機正轉(zhuǎn)打開窗戶。風速傳感器模塊檢測窗外風速,并通過 A/D 采樣傳輸?shù)絾纹瑱C中,經(jīng)單片機處理后,當風速高于13.9m/s 時控制電機反轉(zhuǎn)關(guān)閉窗戶,低于13.9m/s時控制電機正轉(zhuǎn)打開窗戶。人體紅外檢測模塊檢測窗外是否有人,經(jīng)單片機處理后, 若有人則控制電機反轉(zhuǎn)關(guān)閉窗戶,同時蜂鳴器發(fā)出警報,反之則控制電機保持原有狀態(tài)。紅外接收模塊采集紅外遙控信號, 并將其輸出到單片機上,控制電機正轉(zhuǎn)打開窗戶或反轉(zhuǎn)關(guān)閉窗戶。碰撞傳感器模塊檢測窗戶是否完全關(guān)閉或打開,經(jīng)單片機處理后,若窗戶完全關(guān)閉或打開則控制電機停止轉(zhuǎn)動,反之則控制電機保持原有狀態(tài)。
2 硬件設計
2.1 單片機最小系統(tǒng)設計
本系統(tǒng)采用的 STC89C52 芯片為 STC 公司設計生產(chǎn)的 一種低功耗、高性能的 CMOS 8 位微控制器,并具有 8 kB 系統(tǒng)可編程 FLASH 存儲器,擁有 8 位 CPU 和系統(tǒng)可編程 FLASH,使得系統(tǒng)更加靈活、有效 [9]。
2.2 溫濕度傳感器
溫濕度傳感器模塊采用DHT22 數(shù)字溫濕度傳感器,該傳感器用于檢測室外溫濕度,并將信號傳送到單片機,同時在顯示屏上顯示。該傳感器具有可靠的數(shù)字模塊采集技術(shù), 能夠?qū)崟r采集溫濕度信息并反饋至單片機,其傳輸?shù)?40位數(shù)字信號前 16位為濕度數(shù)據(jù),隨后 16位為溫度數(shù)據(jù),最后8位為校驗和,可測溫度量程為- 40~80℃,濕度量程為0 ~100%RH。
2.3 人體紅外檢測模塊
紅外檢測模塊采用HC-SR501 人體紅外感應模塊,該模塊功能強大,可用于防盜,既可采用全自動感應,當有人進入感應范圍時輸出高電平,又可采用光敏控制,在白天強光時不感應,當感應到室外有人時將高電平信號傳送到單片機,單片機控制蜂鳴器發(fā)出警報,房屋主人即可知道有人在窗外??紤]到夏天溫度較高,設有一個溫度補償 RT,當溫度升高至30 ~32℃時,即可作出一定程度的溫度補償,提高其精確度。
2.4 光電傳感器模塊
光電傳感器基于對射式光電傳感原理,由投光器和受光器組成。該傳感器用于檢測是否有異物阻擋在窗戶的行進軌道上,若有則輸出低電平,單片機控制電機停止轉(zhuǎn)動,避免損傷人或物品;而正常情況下則輸出高電平,不影響電機轉(zhuǎn)動。
2.5 碰撞傳感器模塊
碰撞開關(guān)用于檢測窗戶是否已經(jīng)完全關(guān)閉或開啟。當窗戶關(guān)閉不完全即碰撞開關(guān)未閉合時,該模塊 3 腳 OUT 口輸出高電平,指示燈熄滅;而當碰撞開關(guān)閉合即窗戶完全關(guān)閉時則輸出低電平,指示燈點亮。利用該模塊可以很好地保護電機, 避免電機空轉(zhuǎn)。
2.6 風速傳感器模塊
風速傳感器采用三杯式風速計,在風力的作用下帶動三個杯體旋轉(zhuǎn),只需將電壓采樣端直接與單片機 A/D 口相接, 另一端接地即可。其不同的輸出電壓對應不同的風速,轉(zhuǎn)速越大,電壓越高。
2.7 電機驅(qū)動模塊
本設計采用電機驅(qū)動芯片L298N 來驅(qū)動 24 V 直流電機,電機驅(qū)動模塊電路圖如圖 2 所示。該驅(qū)動板可驅(qū)動 2 路直流 電機,ENA,ENB 為使能端,在高電平時有效,通過設置 INT1,INT2 確定電機轉(zhuǎn)動方向,再對其使能端輸出 PWM 脈 沖即可實現(xiàn)調(diào)速。通過改變 INT3,INT4,ENB 的電平來確 定電機的轉(zhuǎn)動方向和狀態(tài),其中 VCC 為 5 V。
2.8 雨滴傳感器模塊
雨滴傳感器使用寬電壓 LM393 比較器,可輸出數(shù)字信號和模擬信號。當有雨時 D0 輸出低電平,指示燈亮 ;無雨時D0 輸出高電平,指示燈滅。而模擬量則可用于檢測滴落在傳感器表面的雨量大小。將上述信號傳送至單片機,經(jīng)數(shù)據(jù)處理后控制電機正反轉(zhuǎn),繼而實現(xiàn)窗戶的開啟或關(guān)閉。
2.9 紅外遙控模塊
紅外遙控模塊分為紅外接收器和遙控器,其接收器接收頭為 1838 紅外接收頭,具有抗光功能,電磁干擾能力強,且內(nèi)置紅外線專用IC。該紅外接收模塊為 3 線制,VCC 為外接5 V電壓,GND 為外接地,D0 為數(shù)字輸出端口,單片機通過讀取該輸出端口的二進制數(shù)值來控制電機轉(zhuǎn)動或停止。遙控器采用NEC編碼格式,遙控距離可達8 m,采用2.5 V干電池供電。遙控器中各按鍵都有固定編碼,按下后幾十毫秒內(nèi)紅外接收器會接收到一串二進制編碼,將其送入單片機后由單片機判斷并執(zhí)行相應操作。
2.10 顯示器模塊
顯示器采用LCD1602 液晶屏顯示溫濕度。該液晶屏可以顯示 32 個字符,完全滿足溫濕度顯示要求。
3 系統(tǒng)軟件設計
本系統(tǒng)以 Keil 作為單片機編程軟件,C 語言作為編程語言。其系統(tǒng)流程如圖3 所示。通過各傳感器對周圍環(huán)境的檢測, 將信息送入單片機內(nèi),由單片機判斷并執(zhí)行相應操作。單片機主程序main 調(diào)用各子程序,其余所有傳感器的信息判斷、電機模塊驅(qū)動、LCD1602 溫濕度顯示、蜂鳴器報警等均寫入子模塊中,方便移植和閱讀 [10,11]。
4 結(jié) 語
本系統(tǒng)采用STC89C52 單片機及各類傳感器,LCD1602,蜂鳴器等器件,將光、風、溫、電等技術(shù)結(jié)合為一體,具有較高的可靠性、安全性和極強的實用性。整體的設計創(chuàng)新點在于添加了防異物功能,也能較好地避免夾傷用戶。本系統(tǒng)通過一些方便實用的傳感器實現(xiàn)了對外部環(huán)境的監(jiān)測,將外界信息顯示在顯示屏上,并由單片機控制電機驅(qū)動模塊、人體紅外檢測模塊等,最終實現(xiàn)了智能開關(guān)窗戶的目的,具有較高的實用價值和廣闊的應用前景。