文/譚艷春 武琰
單片機無論從組成還是邏輯功能上都具有微機系統的特性,是一門實踐性很強的軟硬件結合的技術,且體積小巧,因此可以嵌入到各種應用系統中作為指揮決策中心,實現系統的智能化。目前比較流行的單片機仿真軟件和集成開發軟件有Proteus 和Keil。減少室外環境對室內環境的影響,進而調節室內環境,增加舒適度,更智能化和更人性化。
智能窗簾控制系統是智能家居的重要組成部分,它能夠把環境中的溫濕度、光照強度等參數,通過溫/濕度傳感器或光敏傳感器轉化為電信號,利用微控制系統來驅動電機,自動控制窗簾的開關,使人們的生活更加智能舒適。雖然目前關于智能家居、智能窗簾的研究很多,但本設計有其獨特之處,該系統首先會根據人為的設定來判斷是否為睡眠時段,再對采集的溫濕度和光照強度進行具體的數據分析及處理,因此更加智能和人性化。
該系統的硬件電路主要包括STC89C52 最小電路模塊、溫濕度和光照強度的數據采集模塊、電機驅動模塊和顯示模塊四部分,電路方框圖如圖1所示。
根據系統的電路方框圖,利用Proteus 設計的硬件電路如圖2所示。下面對各電路模塊進行具體說明。

圖1:系統的硬件電路方框圖
STC89C52 最小電路模塊:包括STC89C52 單片機、復位電路和時鐘電路三部分。
電機驅動模塊:利用ULN2803 驅動芯片來驅動步進電機(本設計采用的是四相八拍的角位移28BYJ48 步進電機)控制窗簾的開關。
溫濕度和光照強度的數據采集模塊:主要采用響應快、抗干擾能力強、高可靠性和高穩定性的 SHT11 溫濕度傳感器以及小巧、高靈敏度的ZG03S 光敏傳感器作為系統的探測元件,對室外的溫濕度和光照強度進行實時數據采集。
顯示電路模塊:采用LCD12864 點陣型液晶模塊,除了顯示必要的實時溫度和濕度數據,還可顯示日期和時間等一些附加信息。

圖2:系統的硬件電路

圖3:系統的程序流程圖
該智能窗簾控制系統的軟件設計難點在于需要根據實際情況來判定窗簾的開關動作。例如,不能直接根據光照強度超出設定的閾值就關閉窗簾,需要考慮此時是否為主人設定的睡眠時段,若是,則要驅動電機關閉窗簾,若不是,則不需要光照強度的影響,因此就不用關閉窗簾。
本文設計的智能窗簾控制系統的代碼較多,因篇幅所限,故就不在此文中贅述。這里只給出該系統的程序流程圖,如圖3所示。
該智能窗簾控制系統的睡眠時段、窗簾開關驅動閾值及液晶顯示內容和模式可根據實際情況進行設定和調整。所謂的睡眠時段并不是指普遍的睡眠休息時間,而是指個人的作息時間,是一種非常人性化的私人訂制服務。而室內空氣濕度一般情況下應控制在40%—50%為宜,但若喜歡比較干燥的空氣,可以將濕度上限設為30%,甚至更低。
根據圖3的系統流程圖,利用Keil C 編寫調試程序,并將調試無語法錯誤的代碼文件*.HEX 加載到Proteus 原理圖的STC89C52 單片機中,系統加電運行后,可以觀察到與預期一致的效果,即在非睡眠時段,只有濕度超過預設值時,電機才會控制窗簾關閉,而在睡眠時段,溫度、濕度和光照強度只要有一個參數超過預設值,電機都會控制窗簾關閉。但由于文本的限制,無法展示系統運行的動態過程,故略。
本文設計的智能窗簾控制系統可以根據人為設定的睡眠時段閾值,對溫濕度及光敏傳感器采集的溫濕度和光照強度等參數,進行具體的數據分析并做出相應的動作(打開或關閉窗簾),非常的智能和人性化。并且該系統的設計框架和思路還可用于其他相類似的智能產品的設計,因此該系統具有良好的可擴展性以及較強的實際指導意義和應用價值。