藍日衛,梁 飄,李秋紅,梁浩然
(廣西理工職業技術學院,廣西 崇左 532200)
遙控器是家用電器設備不可或缺的控制器件,特別是功能較多的現代家用電器,“一機一控”幾乎成為一種“標配”[1]。而隨著遙控器數量的增加,時常出現遙控器因被隨意放置或家中小朋友玩耍而丟失或難找等現象;另外,對于家中有正在上學而迷戀電視的小朋友,因家長忙于工作無法限制其看電視的時間,也經常出現因迷戀看電視而未完成作業,或在放假期間整天看電視,影響小朋友的身心健康等不良現象。如果有一種裝置,集成多種電器遙控器的控制功能,通過手機對電器設備的使用情況進行控制和限定,便可解決上述遇到的問題。
為了解決上述存在的問題,可設計一種具有對多種家電設備進行控制和功能設定的遙控系統對家用電器設備進行個性化控制。該系統主要由單片機主控模塊、藍牙通信模塊、紅外收發模塊和手機APP 控制軟件四大部分組成,其系統原理方框圖如圖1 所示[2]。其設計思路如下:將該系統安裝在多個家用電器能同時接收到系統所發紅外信號的地方,用戶對家用電器設備進行控制前,首先將設備的遙控器控制指令錄入系統中;當系統存儲有設備的遙控指令后,通過操作裝有系統配套APP 控制軟件的手機選擇需要控制的設備,即可對該設備的定時開關機、音量控制及限時使用等功能進行控制,從而實現通過一個“遙控設備”對多個家電設備進行控制的目的,解決一臺家電設備一臺遙控器出現遙控器丟失(或難找)及不能對設備進行個性化功能控制等問題[3-6]。
根據上述圖1 系統原理方框圖的設計思路,該系統的硬件電路原理圖如圖2 所示[1,7-8]。各模塊電路功能及工作原理如下。
該設計采用STM8L001J3M3 單片機為主控芯片。該芯片是意法半導體公司生產的超低功耗緊湊尺寸型單片機,采用SO-8 封裝,內整合高能的8 位處理器,共8 個引腳,共有6 個通用IO 口,內含有1.5 kRAM、8 k 閃存程序、2 kB 數據EEPROM、1 個串口、2 個16位通用定時器、一個SPI 串行外設和1 個I2C 外設等豐富的外設資源,工作電壓為1.8~3.6 V,低功耗時電流低至0.3 μA,且成本低,能滿足系統設計所有功能的開發需要[6,8]。
在該設計系統中,STM8L001J3M3 芯片是電路的核心芯片,是數據處理和信號控制中心,主要有以下幾個功能:一是與藍牙模塊建立信號連接,分析和判斷藍牙模塊傳來的數據,以便做出相應的控制;二是根據藍牙模塊傳來的控制指令驅動紅外發射管發出紅外遙控指令,以便對家用電器設備進行控制;三是根據藍牙模塊傳來的遙控錄制指令信號控制紅外接收管接收電器設備原遙控器發射的紅外控制指令,形成控制指令特征信息保存至芯片內部存儲器中,達到錄制電器設備遙控指令的目的[9-12]。為了降低系統功耗,當主控芯片在規定時間內檢測不到用戶對系統的操作信號時,主控芯片控制整個系統進入低功耗模式,僅當藍牙模塊重新被連接時,主控芯片才被喚醒,并控制系統進入待命狀態[12-13]。
紅外收發模塊包括紅外發射電路和紅外接收電路2 個電路模塊,其中,紅外發射電路主要由3 個紅外發射管(LED1-3)、1 個三極管(Q1)和2 個電阻(R1 和R2)組成,3 個紅外發射管同時受控于三極管Q1,三極管Q1 的基極經過電阻R2 與主控芯片IC1 的第5 個引腳YK 連接,主控芯片發出的遙控信號經過三極管Q1 進行電流放大后,驅動LED1-3 發射紅外編碼信號,實現對家用電器設備的遙控控制[1,13]。
紅外接收電路模塊由1 個一體化紅外接收頭J2、上拉電阻R3 和2 個濾波電容C1、C2 組成[12-13]。在遙控指令錄入模式下,將家用電器設備原遙控器對準系統的紅外接收頭并按下按鍵,遙控器所發射的遙控編碼信號被紅外接收頭接收和解碼后通過第2腳(HW_R)將解碼信號傳送到單片機主控芯片的第2 腳(HW_R),主控芯片對解碼信號進行分析后提取該設備遙控信號的特征信息并保存在內部存儲器中,完成電器設備遙控信號的錄制過程。當系統要對家電設備進行控制時,單片機主控芯片對該設備的特征信息重新進行編碼與調制,調制信號通過紅外發射電路發射出去,便可對該設備進行紅外遙控控制[11-12]。
為了通過手機對不同家用電器設備進行選擇和遙控控制,系統以藍牙通信模塊為通信紐帶,由藍牙通信模塊將用戶手機發射的控制信號傳送給系統主控單片機,再由系統對家用電器設備進行控制[14-15]。系統使用的藍牙模塊型號為JDY-33,該模塊是一塊經典藍牙+BLE 的微小體串口雙模藍牙砌塊,功耗低、成本低,V2.2 版本,兼容HC05 藍牙接收模塊,支持Windows、Linux、android 和IOS 數據透傳,其工作電壓為3.0~3.6 V,工作頻段2.4 GHz,調制方式GFSK,最大發射功率6 dB,最大發射距離30 m[12]。
系統中使用的藍牙模塊僅使用5 個引腳,其中2個引腳為電源腳,分別接3.3 V 電源和電源地;2 個引腳為串口通信接口,與系統單片機主控芯片的2 個串口引腳RXD 和TXD 交叉連接,即藍牙通信模塊的TXD 和RXD(第1 和第2 引腳)分別與主控芯片的RXD 和TXD(第1 和第8 引腳)連接,通過串口通信方式與單片機主控芯片進行信號傳遞;最后一個引腳為藍牙連接狀態腳STAT,與單片機主控芯片第7 腳連接,當藍牙未連接時,該腳為低電平,藍牙連接后為高電平[9-10]。STAT 腳設為系統退出低功耗工作模式的喚醒信號觸發引腳,當單片機主控芯片檢測到該腳產生一個高脈沖信號時,系統退出低功耗模式,進入正常工作模式。
為了實現對不同家用電器設備的遙控控制,首先要通過手機選擇需要控制的設備,再對該設備進行功能設定和控制。為此,需開發一款具有這些控制界面和功能選項的手機APP 軟件,具體開發過程如下。
在電腦上安裝E4A 安卓開發軟件后打開軟件,在工程數據的主窗口界面頂部合適位置增加一個標簽,在窗口左測“屬性區”將其標題屬性命名為“通用家電遙控器”,作為本窗口的主識別標簽。在主識別標簽下分別添加“打開藍牙”“開始搜索”和“退出”3 個軟按鍵,橫向對齊置于主識別標簽下方;添加一個藍牙組件,用于連接手機內部的藍牙模塊;添加一個高級列表框,用于存放手機藍牙搜索到的外部藍牙設備,以便用戶選擇連接。在高級列表框下方添加“電視機”“接收器”“空調機”和“電風扇”等常用家用電器小圖片,在圖片下分別添加標簽并命名為相應的設備名稱。設備圖片標簽下添加2 個標簽,用于顯示需要控制的設備,標簽右邊添加一個按鍵,以便對選中設備進行搖控開機或關機操作。同樣的操作分別再添加3 個標簽和3 個編輯框,標簽分別命名為“定時開機:”“定時關機:”和“限時使用:”,編輯框用于輸入相關參數(如定時關機的具體時間等),最后分別在3 個編輯框后添加執行按鍵,用于確定或取消執行該條對話框所設定的參數。在界面底部添加一個標簽命名為“錄制遙控器指令”,添加一個按鍵,用于執行錄入遙控器指令命令。整個APP控制界面的設計效果如圖3 所示。
圖3 手機APP 軟件設計界面
點擊E4A 軟件編輯窗口的代碼區便可對界面設計中添加的各控件進行代碼編程,實現各控件間的邏輯控制和數據運算。系統APP 代碼的設計思路如下。
對于藍牙的連接控制,主要通過“打開藍牙”“開始搜索”和“高級列表框”3 個組件進行控制。在代碼區的編程思路為:當點擊“打開藍牙”鍵,系統打開或關閉手機的藍牙開關;當藍牙開關打開后,點擊“開始搜索”鍵,手機內置的藍牙模塊搜索周邊的藍牙設備,并將搜索到的藍牙設備名稱和地址保存在高級列表框中,當高級列表框中出現需要連接的設備時,點擊列表右邊的“連接”鍵便可連接該設備;在連接狀態下,點擊“斷開”便可斷開手機與設備的連接。
家電設備遙控信號的錄制——在APP 界面中選擇需要錄制的設備類型后,點擊“錄入”鍵,系統進入遙控信號錄入模式。對已錄入搖控信號家電設備的控制——手機與設備連接成功后,點擊列表框下方需要控制的設備(如電視機等),點擊“開/關”鍵,便可對該電器設備進行開/關操作;同理,對定時開機等功能進行設定后,點擊其后面的按鍵便可對電器設備進行功能設定,實現限時使用等個性化功能控制。
對系統的測試包括手機APP 應用軟件的運行測試、遙控指令信號的錄入測試和手機通過系統對不同家用電器設備的控制測試。測試過程:將E4A 安卓軟件設計出的APP 應用程序安裝到安卓手機上,應用程序能順利安裝完成,點擊搜索按鍵能搜索到周邊的藍牙設備,并在高級列表框中顯示,APP 應用程序運行正常,不出現卡頓或死機現象。在手機距離系統10 m 范圍內,手機APP 每次都能順利與系統的藍牙通信模塊建立連接,依次點擊手機APP 界面上的“電視機”和“錄入”鍵,系統能進入遙控器指令錄入模式,將電視機的遙控器對準系統的紅外接收頭并按下遙控開關鍵,紅外編碼信號能被單片機主控芯片讀取,搖控特征信息能正確存入到芯片內部存儲器中,手機APP 界面能收到錄入成功的反饋消息;同理,依次點擊手機APP界面上的“空調機”和“錄入”鍵,使用空調遙控器完成錄入操作,手機APP 界面同樣能收到錄入成功的消息,遙控信號錄制功能正常。遙控器信號錄入完成后,在手機APP 界面上依次點擊“電視機”和“開/關”鍵,電視機能被打開或關閉;依次點擊“空調機”和“開/關”鍵,空調機也能被打開或關閉。經過多次測試與實驗發現,在無墻體遮擋的10 m 范圍內,無論是錄入功能還是遙控功能,用戶通過手機APP 軟件能順利無阻地對家用電器設備進行開關機操作和功能設定,且系統運行穩定,手機APP 應用程序無卡頓或死機現象。
本文基于STM8 單片機為系統主控芯片設計了通用家電遙控系統,通過配套設計的手機APP 應用程序不僅能錄入家用電器設備的遙控信號,也能對多種不同的家用電器設備進行紅外遙控開關機、定時關機和限時使用等常規遙控操作和功能設定,完美實現一機多控的綜合性遙控功能,解決了因遙控器多而出現遙控器丟失、難找,以及不能很好對家電設備進行限時使用和個性化控制等問題。