賈稀月,陳飛險(xiǎn),艾輝虎,朱令乾,拾云潔
(蘇州城市學(xué)院,江蘇 蘇州 215104)
智能家居是以住宅為平臺(tái),利用綜合布線技術(shù)、網(wǎng)絡(luò)通信技術(shù)、安全防范技術(shù)、自動(dòng)控制技術(shù)、音視頻技術(shù)將家居生活有關(guān)的設(shè)施集成,構(gòu)建高效的住宅設(shè)施與家庭日常事務(wù)的管理系統(tǒng),提升家居安全性、便利性、舒適性、藝術(shù)性,并實(shí)現(xiàn)環(huán)保節(jié)能的居住環(huán)境。與傳統(tǒng)型家居產(chǎn)品相比,智能家居不但有效地改變了傳統(tǒng)家居生活,還為廣大消費(fèi)者提供了舒適安全、品質(zhì)優(yōu)雅的家居生活環(huán)境。日常生活中的窗簾,在使用時(shí)一般需要頻繁地手動(dòng)開合,為了使窗簾開合更加便捷、智能,本文設(shè)計(jì)了一款以STC89C52單片機(jī)為核心的窗簾控制系統(tǒng),可以通過(guò)不同方式對(duì)窗簾進(jìn)行控制。
本設(shè)計(jì)方案按模塊劃分主要包括STC89C52單片機(jī)、按鍵模塊、紅外遙控模塊、藍(lán)牙模塊和電機(jī)驅(qū)動(dòng)模塊。STC89C52單片機(jī)作為系統(tǒng)核心部件,實(shí)現(xiàn)對(duì)整個(gè)系統(tǒng)的控制和管理。按鍵模塊、紅外遙控模塊和藍(lán)牙模塊提供了三種不同的控制方式,豐富了系統(tǒng)控制功能。電機(jī)驅(qū)動(dòng)模塊用于驅(qū)動(dòng)直流電機(jī)正反轉(zhuǎn),以模擬窗簾的升降。本系統(tǒng)硬件結(jié)構(gòu)框圖如圖1所示,系統(tǒng)電路如圖2所示。

圖1 總體硬件結(jié)構(gòu)框圖

圖2 總體硬件電路
按鍵控制電路用于手動(dòng)控制窗簾的升降。本設(shè)計(jì)共有5個(gè)物理按鍵,其中按鍵K1、K2、K3用于控制窗簾進(jìn)行相應(yīng)的動(dòng)作。當(dāng)按下K1時(shí)電機(jī)正轉(zhuǎn),窗簾下降;按下K2時(shí)電機(jī)反轉(zhuǎn),窗簾上升;按下K3時(shí)電機(jī)停止動(dòng)作,窗簾停止動(dòng)作。按鍵K4、K5用于模擬限位開關(guān),當(dāng)窗簾開合到最大時(shí)觸碰到限位開關(guān)停止動(dòng)作,防止過(guò)卷。這5個(gè)按鍵的公共端接地,另一端分別與單片機(jī)P2.6、P2.7、P3.5、P3.6、P3.7口連接。由于P3口內(nèi)置上拉電阻,因此按鍵電路不須額外接上拉電阻。按鍵電路如圖3所示。

圖3 按鍵電路
紅外遙控電路包括紅外遙控器和紅外接收部件兩部分。紅外遙控器采用NEC協(xié)議,當(dāng)按下遙控器后,遙控器發(fā)出相應(yīng)的控制信號(hào)。
紅外接收部件選用HX1838集成芯片,該芯片集放大、接收功能于一體。當(dāng)按下紅外遙控器按鍵時(shí),遙控器將相對(duì)應(yīng)的二進(jìn)制信號(hào)調(diào)制為一系列的脈沖信號(hào),通過(guò)紅外發(fā)射管發(fā)射紅外信號(hào);HX1838芯片將接收到的光脈沖轉(zhuǎn)換成電信號(hào),再經(jīng)過(guò)放大器和限幅器,將脈沖幅度控制在一定范圍內(nèi),信號(hào)再經(jīng)過(guò)濾波等處理后送給解調(diào)電路進(jìn)行解調(diào),還原出發(fā)射端的信號(hào)波形。HX1838芯片與單片機(jī)的P3.3口相連,紅外遙控器按鍵1、2、3分別控制窗簾的下降、上升、停止。紅外遙控電路如圖4所示。

圖4 紅外遙控電路
藍(lán)牙控制部分采用HC-05藍(lán)牙模塊,HC-05是主從一體的藍(lán)牙串口模塊。當(dāng)藍(lán)牙設(shè)備與單片機(jī)配對(duì)連接成功后,HC-05內(nèi)部程序可以直接將藍(lán)牙串口設(shè)備當(dāng)作串口使用。
當(dāng)單片機(jī)上電后,可通過(guò)手機(jī)藍(lán)牙與HC-05配對(duì),配對(duì)成功后即可通過(guò)手機(jī)向單片機(jī)發(fā)送控制指令。單片機(jī)收到控制指令后將觸發(fā)串口中斷請(qǐng)求,此時(shí)單片機(jī)進(jìn)入串口中斷處理程序,將接收到的數(shù)據(jù)送入CPU進(jìn)行處理,以控制窗簾進(jìn)行相應(yīng)的動(dòng)作。HC-05藍(lán)牙模塊的RXD、TXD引腳分別與單片機(jī)的RXD(P30)、TXD(P31)口相連接,其電路如圖5所示。

圖5 藍(lán)牙控制電路
本設(shè)計(jì)通過(guò)直流電機(jī)的正反轉(zhuǎn)來(lái)模擬控制窗簾的升降,由于單片機(jī)內(nèi)部電路輸出的電流較小,無(wú)法直接驅(qū)動(dòng)直流電機(jī),因此選用L9110芯片驅(qū)動(dòng)直流電機(jī)。
L9110是為控制和驅(qū)動(dòng)電機(jī)設(shè)計(jì)的兩通道推挽式功率放大專用器件,它具有較強(qiáng)的電流驅(qū)動(dòng)能力,且容易通過(guò)單片機(jī)控制。L9110配備了兩個(gè)TTL/CMOS兼容電平的輸入,具有很強(qiáng)的抗干擾能力,兩個(gè)輸出端能直接驅(qū)動(dòng)電機(jī)的正反轉(zhuǎn)動(dòng)作。
電機(jī)驅(qū)動(dòng)電路如圖6所示。L9110的IA、IB引腳為信號(hào)的輸入端,分別與單片機(jī)P2.1、P2.2口連接;OA、OB引腳與直流電機(jī)相連接。單片機(jī)通過(guò)控制P2.1、P2.2口的狀態(tài)即可控制電機(jī)的狀態(tài),對(duì)應(yīng)的電機(jī)狀態(tài)見表1所列。

圖6 驅(qū)動(dòng)模塊電路

表1 電機(jī)狀態(tài)對(duì)應(yīng)
本系統(tǒng)軟件程序在Keil μVision4的開發(fā)環(huán)境下使用C語(yǔ)言進(jìn)行編程,遵循了程序模塊化設(shè)計(jì)理念,軟件主要包括主程序、物理按鍵程序、紅外遙控控制程序、藍(lán)牙模塊控制程序等。
主程序主要負(fù)責(zé)完成初始化操作以及各個(gè)子程序之間的聯(lián)系任務(wù),無(wú)限循環(huán)。利用子程序中設(shè)定的機(jī)械按鍵、紅外遙控器按鍵以及收發(fā)藍(lán)牙串口數(shù)據(jù)并在主程序中分別進(jìn)行調(diào)用,不斷循環(huán)檢測(cè)控制信號(hào),從而通過(guò)不同的方式實(shí)現(xiàn)控制直流電機(jī)動(dòng)作即控制窗簾的動(dòng)作。主程序流程如圖7所示。

圖7 主程序流程
當(dāng)主程序初始化完成以后,按鍵子程序檢測(cè)P3.5、P3.6和P3.7口電平是否變化。當(dāng)按下按鍵時(shí),單片機(jī)檢測(cè)到電平變化,根據(jù)按下的按鍵發(fā)出指令控制電機(jī)做出相應(yīng)動(dòng)作。紅外遙控器發(fā)出的信號(hào)作為單片機(jī)的中斷信號(hào),單片機(jī)對(duì)P3.3口進(jìn)行實(shí)時(shí)檢測(cè),若檢測(cè)到脈沖信號(hào),則進(jìn)行解碼,并根據(jù)編碼對(duì)電機(jī)執(zhí)行相應(yīng)的動(dòng)作。
藍(lán)牙模塊控制程序主要完成控制信號(hào)的傳輸。在單片機(jī)上電后,首先與手機(jī)進(jìn)行配對(duì),若配對(duì)成功,表明通信正常。此時(shí)可通過(guò)手機(jī)APP對(duì)單片機(jī)發(fā)出控制命令,單片機(jī)通過(guò)P3.0(RXD)口接收命令,然后根據(jù)接收到的命令控制直流電機(jī)進(jìn)行相應(yīng)的動(dòng)作。
本系統(tǒng)以STC89C52單片機(jī)為控制核心,可通過(guò)按鍵、紅外遙控、藍(lán)牙等不同的方式控制直流電動(dòng)機(jī)的動(dòng)作,從而達(dá)到控制窗簾自動(dòng)升降的效果。本設(shè)計(jì)成本低,具有較高性價(jià)比,且具有一定的實(shí)用價(jià)值。在豐富了智能窗簾功能的同時(shí),也符合現(xiàn)在家居智能化的發(fā)展方向,能夠讓生活更加便捷、智能、舒適。