王佳宇,秦 磊,錢 網,吳定會
(江南大學 物聯網工程學院,江蘇 無錫 214000)
隨著科技的進步,智能化家具不斷發展。現代社會人們工作繁忙、早出晚歸,常常忘記關窗。當遇到惡劣天氣或小偷潛入時,可能會造成不必要的財產損失。所以傳統的手動開關窗已無法滿足人們對于更高生活品質的要求。因此需要開發一種能夠收集外界情況,且能在雨天、刮風天自動關窗,同時實現防盜功能的智能窗戶[1]。
STC89C52單片機以其結構簡單、價格低廉在控制領域得到廣泛應用。文獻[2]以STC89C52為控制器,利用A/D轉換技術,pH傳感器和溫度補償模塊設計了一種能夠準確測量溶液pH值的pH值測量儀。文獻[3]以STC89C52為控制器,采用達林頓陣列、繼電器隊列和LED燈組設計了一套智能交通燈控制系統,可受上位機控制。文獻[4]以STC89C52為控制器,采用溫度傳感器和無線遙控模塊設計了一種智能風扇控制系統,在溫度高時可自動換擋。文獻[5]以STC89C52為控制器,采用藍牙串口模塊、紅外熱釋模塊和電機驅動模塊設計了一種智能全自動洗衣機控制系統,該系統可無線設定洗衣模式和洗衣時間,出現突發情況可及時報警。文獻[6]以STC89C52為控制器,采用紅外避障模塊、超聲波測距模塊和電機驅動模塊設計了一套自動泊車智能小車控制系統,該系統可自動規避障礙物并將車停入車庫。文獻[7]以STC89C52為控制器,利用多種傳感器設計了一套家庭智能安防系統,在火災和煤氣泄漏時系統可自動報警,可實現防盜功能。
本文以STC89C52單片機為控制器來設計智能窗戶控制系統,由光電傳感器、溫濕度傳感器、紅外傳感器等模塊檢測天氣情況,經處理后傳入單片機,單片機對信號進行運算處理,再將輸出信號送入電機驅動模塊、顯示模塊或蜂鳴器模塊。同時,用戶還可通過紅外遙控器手動控制窗戶開關,使生活更加方便、舒適[8]。
本系統基于STC89C52單片機系統設計,由光電傳感器模塊、溫濕度傳感器模塊、碰撞傳感器模塊、紅外傳感器模塊、紅外遙控模塊、蜂鳴器報警模塊、顯示模塊、電機驅動模塊等組成。其原理框圖如圖1所示。

圖1 系統原理框圖
溫濕度傳感器模塊檢測窗戶周邊的溫濕度,通過A/D采樣傳輸到單片機、顯示器,經單片機處理后,當溫度高于30℃時控制電機正向轉動以打開窗戶,低于10℃時控制電機反向轉動以關閉窗戶。光電傳感器模塊檢測窗戶行進路線中是否存在障礙物,經單片機處理后,若有障礙物則控制電機停止運行,反之則控制電機持續運行。雨滴傳感器模塊檢測是否下雨,經單片機處理后,下雨時控制電機反轉關閉窗戶,反之控制電機正轉打開窗戶。風速傳感器模塊檢測窗外風速,并通過A/D采樣傳輸到單片機中,經單片機處理后,當風速高于13.9 m/s時控制電機反轉關閉窗戶,低于13.9 m/s時控制電機正轉打開窗戶。人體紅外檢測模塊檢測窗外是否有人,經單片機處理后,若有人則控制電機反轉關閉窗戶,同時蜂鳴器發出警報,反之則控制電機保持原有狀態。紅外接收模塊采集紅外遙控信號,并將其輸出到單片機上,控制電機正轉打開窗戶或反轉關閉窗戶。碰撞傳感器模塊檢測窗戶是否完全關閉或打開,經單片機處理后,若窗戶完全關閉或打開則控制電機停止轉動,反之則控制電機保持原有狀態。
本系統采用的STC89C52芯片為STC公司設計生產的一種低功耗、高性能的CMOS 8位微控制器,并具有8 kB系統可編程FLASH存儲器,擁有8位CPU和系統可編程FLASH,使得系統更加靈活、有效[9]。
溫濕度傳感器模塊采用DHT22數字溫濕度傳感器,該傳感器用于檢測室外溫濕度,并將信號傳送到單片機,同時在顯示屏上顯示。該傳感器具有可靠的數字模塊采集技術,能夠實時采集溫濕度信息并反饋至單片機,其傳輸的40位數字信號前16位為濕度數據,隨后16位為溫度數據,最后8位為校驗和,可測溫度量程為-40~80℃,濕度量程為0~100%RH。
紅外檢測模塊采用HC-SR501人體紅外感應模塊,該模塊功能強大,可用于防盜,既可采用全自動感應,當有人進入感應范圍時輸出高電平,又可采用光敏控制,在白天強光時不感應,當感應到室外有人時將高電平信號傳送到單片機,單片機控制蜂鳴器發出警報,房屋主人即可知道有人在窗外。考慮到夏天溫度較高,設有一個溫度補償RT,當溫度升高至30~32℃時,即可作出一定程度的溫度補償,提高其精確度。
光電傳感器基于對射式光電傳感原理,由投光器和受光器組成。該傳感器用于檢測是否有異物阻擋在窗戶的行進軌道上,若有則輸出低電平,單片機控制電機停止轉動,避免損傷人或物品;而正常情況下則輸出高電平,不影響電機轉動。
碰撞開關用于檢測窗戶是否已經完全關閉或開啟。當窗戶關閉不完全即碰撞開關未閉合時,該模塊3腳OUT口輸出高電平,指示燈熄滅;而當碰撞開關閉合即窗戶完全關閉時則輸出低電平,指示燈點亮。利用該模塊可以很好地保護電機,避免電機空轉。
風速傳感器采用三杯式風速計,在風力的作用下帶動三個杯體旋轉,只需將電壓采樣端直接與單片機A/D口相接,另一端接地即可。其不同的輸出電壓對應不同的風速,轉速越大,電壓越高。
本設計采用電機驅動芯片L298N來驅動24 V直流電機,電機驅動模塊電路圖如圖2所示。該驅動板可驅動2路直流電機,ENA,ENB為使能端,在高電平時有效,通過設置INT1,INT2確定電機轉動方向,再對其使能端輸出PWM脈沖即可實現調速。通過改變INT3,INT4,ENB的電平來確定電機的轉動方向和狀態,其中VCC為5 V。

圖2 電機驅動模塊電路圖
雨滴傳感器使用寬電壓LM393比較器,可輸出數字信號和模擬信號。當有雨時D0輸出低電平,指示燈亮;無雨時D0輸出高電平,指示燈滅。而模擬量則可用于檢測滴落在傳感器表面的雨量大小。將上述信號傳送至單片機,經數據處理后控制電機正反轉,繼而實現窗戶的開啟或關閉。
紅外遙控模塊分為紅外接收器和遙控器,其接收器接收頭為1838紅外接收頭,具有抗光功能,電磁干擾能力強,且內置紅外線專用IC。該紅外接收模塊為3線制,VCC為外接5 V電壓,GND為外接地,D0為數字輸出端口,單片機通過讀取該輸出端口的二進制數值來控制電機轉動或停止。遙控器采用NEC編碼格式,遙控距離可達8 m,采用2.5 V干電池供電。遙控器中各按鍵都有固定編碼,按下后幾十毫秒內紅外接收器會接收到一串二進制編碼,將其送入單片機后由單片機判斷并執行相應操作。
顯示器采用LCD1602液晶屏顯示溫濕度。該液晶屏可以顯示32個字符,完全滿足溫濕度顯示要求。
本系統以Keil作為單片機編程軟件,C語言作為編程語言。其系統流程如圖3所示。通過各傳感器對周圍環境的檢測,將信息送入單片機內,由單片機判斷并執行相應操作。單片機主程序main調用各子程序,其余所有傳感器的信息判斷、電機模塊驅動、LCD1602溫濕度顯示、蜂鳴器報警等均寫入子模塊中,方便移植和閱讀[10,11]。

圖3 系統流程圖
本系統采用STC89C52單片機及各類傳感器,LCD1602,蜂鳴器等器件,將光、風、溫、電等技術結合為一體,具有較高的可靠性、安全性和極強的實用性。整體的設計創新點在于添加了防異物功能,也能較好地避免夾傷用戶。本系統通過一些方便實用的傳感器實現了對外部環境的監測,將外界信息顯示在顯示屏上,并由單片機控制電機驅動模塊、人體紅外檢測模塊等,最終實現了智能開關窗戶的目的,具有較高的實用價值和廣闊的應用前景。
[1] 浦靈敏,季愛明.基于STC89C52單片機智能窗戶控制系統的設計[J].中國科技信息,2011(10):150-151.
[2] 林關成.基于STC89C52單片機的pH值測量儀設計[J].計算機與數字工程,2017,45(9):1874-1877.
[3] 郭強,劉志峰,張愛平,等.基于STC89C52單片機的智能交通燈控系統設計[J].機電一體化,2008,14(11):85-88.
[4] 韓興國,蘇慶勇,王為慶.基于STC89C52單片機的智能風扇控制系統設計[J]. 裝備制造技術,2013(3):52-54.
[5] 張哲,李智,管四海.基于STC89C52的智能全自動洗衣機控制系統設計[J].微型機與應用,2017,36(7):102-105.
[6] 喻偉闖,劉世焯,錢楷,等.基于STC89C52單片機的自動泊車智能小車的設計與實現[J].湖北民族學院學報(自然科學版),2017,35(2):195-197.
[7] 孔育琴.基于STC89C52的家庭智能安防系統設計[J].自動化技術與應用,2017,36(10):135-139.
[8] 王杰,楊曄,蔡劍文.基于單片機的智能窗戶控制系統的設計[J].產業與科技論壇,2014(12):61-62.
[9] 郭天祥.新概念51單片機C語言教程[M].北京:電子工業出版社,2009.
[10] 羅懌.基于單片機控制的智能窗設計[J].科技創業月刊,2015, 28(1):100-102.
[11] 毛靜.基于STC89C52單片機的智能窗設計[J].電子設計工程,2014, 22(24):20-22.