賈稀月,陳飛險,艾輝虎,朱令乾,拾云潔
(蘇州城市學院,江蘇 蘇州 215104)
智能家居是以住宅為平臺,利用綜合布線技術、網(wǎng)絡通信技術、安全防范技術、自動控制技術、音視頻技術將家居生活有關的設施集成,構建高效的住宅設施與家庭日常事務的管理系統(tǒng),提升家居安全性、便利性、舒適性、藝術性,并實現(xiàn)環(huán)保節(jié)能的居住環(huán)境。與傳統(tǒng)型家居產(chǎn)品相比,智能家居不但有效地改變了傳統(tǒng)家居生活,還為廣大消費者提供了舒適安全、品質優(yōu)雅的家居生活環(huán)境。日常生活中的窗簾,在使用時一般需要頻繁地手動開合,為了使窗簾開合更加便捷、智能,本文設計了一款以STC89C52單片機為核心的窗簾控制系統(tǒng),可以通過不同方式對窗簾進行控制。
本設計方案按模塊劃分主要包括STC89C52單片機、按鍵模塊、紅外遙控模塊、藍牙模塊和電機驅動模塊。STC89C52單片機作為系統(tǒng)核心部件,實現(xiàn)對整個系統(tǒng)的控制和管理。按鍵模塊、紅外遙控模塊和藍牙模塊提供了三種不同的控制方式,豐富了系統(tǒng)控制功能。電機驅動模塊用于驅動直流電機正反轉,以模擬窗簾的升降。本系統(tǒng)硬件結構框圖如圖1所示,系統(tǒng)電路如圖2所示。
圖1 總體硬件結構框圖
圖2 總體硬件電路
按鍵控制電路用于手動控制窗簾的升降。本設計共有5個物理按鍵,其中按鍵K1、K2、K3用于控制窗簾進行相應的動作。當按下K1時電機正轉,窗簾下降;按下K2時電機反轉,窗簾上升;按下K3時電機停止動作,窗簾停止動作。按鍵K4、K5用于模擬限位開關,當窗簾開合到最大時觸碰到限位開關停止動作,防止過卷。這5個按鍵的公共端接地,另一端分別與單片機P2.6、P2.7、P3.5、P3.6、P3.7口連接。由于P3口內置上拉電阻,因此按鍵電路不須額外接上拉電阻。按鍵電路如圖3所示。
圖3 按鍵電路
紅外遙控電路包括紅外遙控器和紅外接收部件兩部分。紅外遙控器采用NEC協(xié)議,當按下遙控器后,遙控器發(fā)出相應的控制信號。
紅外接收部件選用HX1838集成芯片,該芯片集放大、接收功能于一體。當按下紅外遙控器按鍵時,遙控器將相對應的二進制信號調制為一系列的脈沖信號,通過紅外發(fā)射管發(fā)射紅外信號;HX1838芯片將接收到的光脈沖轉換成電信號,再經(jīng)過放大器和限幅器,將脈沖幅度控制在一定范圍內,信號再經(jīng)過濾波等處理后送給解調電路進行解調,還原出發(fā)射端的信號波形。HX1838芯片與單片機的P3.3口相連,紅外遙控器按鍵1、2、3分別控制窗簾的下降、上升、停止。紅外遙控電路如圖4所示。
圖4 紅外遙控電路
藍牙控制部分采用HC-05藍牙模塊,HC-05是主從一體的藍牙串口模塊。當藍牙設備與單片機配對連接成功后,HC-05內部程序可以直接將藍牙串口設備當作串口使用。
當單片機上電后,可通過手機藍牙與HC-05配對,配對成功后即可通過手機向單片機發(fā)送控制指令。單片機收到控制指令后將觸發(fā)串口中斷請求,此時單片機進入串口中斷處理程序,將接收到的數(shù)據(jù)送入CPU進行處理,以控制窗簾進行相應的動作。HC-05藍牙模塊的RXD、TXD引腳分別與單片機的RXD(P30)、TXD(P31)口相連接,其電路如圖5所示。
圖5 藍牙控制電路
本設計通過直流電機的正反轉來模擬控制窗簾的升降,由于單片機內部電路輸出的電流較小,無法直接驅動直流電機,因此選用L9110芯片驅動直流電機。
L9110是為控制和驅動電機設計的兩通道推挽式功率放大專用器件,它具有較強的電流驅動能力,且容易通過單片機控制。L9110配備了兩個TTL/CMOS兼容電平的輸入,具有很強的抗干擾能力,兩個輸出端能直接驅動電機的正反轉動作。
電機驅動電路如圖6所示。L9110的IA、IB引腳為信號的輸入端,分別與單片機P2.1、P2.2口連接;OA、OB引腳與直流電機相連接。單片機通過控制P2.1、P2.2口的狀態(tài)即可控制電機的狀態(tài),對應的電機狀態(tài)見表1所列。
圖6 驅動模塊電路
表1 電機狀態(tài)對應
本系統(tǒng)軟件程序在Keil μVision4的開發(fā)環(huán)境下使用C語言進行編程,遵循了程序模塊化設計理念,軟件主要包括主程序、物理按鍵程序、紅外遙控控制程序、藍牙模塊控制程序等。
主程序主要負責完成初始化操作以及各個子程序之間的聯(lián)系任務,無限循環(huán)。利用子程序中設定的機械按鍵、紅外遙控器按鍵以及收發(fā)藍牙串口數(shù)據(jù)并在主程序中分別進行調用,不斷循環(huán)檢測控制信號,從而通過不同的方式實現(xiàn)控制直流電機動作即控制窗簾的動作。主程序流程如圖7所示。
圖7 主程序流程
當主程序初始化完成以后,按鍵子程序檢測P3.5、P3.6和P3.7口電平是否變化。當按下按鍵時,單片機檢測到電平變化,根據(jù)按下的按鍵發(fā)出指令控制電機做出相應動作。紅外遙控器發(fā)出的信號作為單片機的中斷信號,單片機對P3.3口進行實時檢測,若檢測到脈沖信號,則進行解碼,并根據(jù)編碼對電機執(zhí)行相應的動作。
藍牙模塊控制程序主要完成控制信號的傳輸。在單片機上電后,首先與手機進行配對,若配對成功,表明通信正常。此時可通過手機APP對單片機發(fā)出控制命令,單片機通過P3.0(RXD)口接收命令,然后根據(jù)接收到的命令控制直流電機進行相應的動作。
本系統(tǒng)以STC89C52單片機為控制核心,可通過按鍵、紅外遙控、藍牙等不同的方式控制直流電動機的動作,從而達到控制窗簾自動升降的效果。本設計成本低,具有較高性價比,且具有一定的實用價值。在豐富了智能窗簾功能的同時,也符合現(xiàn)在家居智能化的發(fā)展方向,能夠讓生活更加便捷、智能、舒適。