鐘詩航 肖 珂 任曉賢
?
基于藍牙的遙控器設計
鐘詩航 肖 珂 任曉賢
本系統采用低功耗單片機與藍牙模塊實現了遙控器系統與接收機無線連接,并通過自定義的協議完成了鍵值的傳送。系統設計考慮了遙控器低功率的要求,在功耗方面進行了優化,實現了休眠喚醒功能。同時遙控器系統可以接收來自接收機的音頻信號并播放。
遙控器是一種基本的遠程控制裝置,在工業和民用中應用廣泛。現有的遙控器,諸如電視、空調遙控器,主要是紅外遙控。紅外遙控已經非常成熟,但它的缺點也很明顯:
必須對準接收器;
傳輸距離較短(1-2m);
只能單對單的控制;
信號無加密。
相比之下,藍牙設備的控制距離更長,標準功率下可在10m距離內進行數據通訊,而功率級別為CLASS1的藍牙設備之間可在100m范圍內進行通訊。
藍牙設備也具有更好的傳輸特性,不需對準接收器,甚至可以不再同一間房間。可以在設備移動時傳輸。一個藍牙設備可以連接多臺接收機,同時可以對他們做出區分。
同時藍牙設備具有完整的安全機制。
現在,藍牙技術繼續也在日趨成熟,藍牙模塊的成本在降低,盡管其通訊速率不是很高,但是在做遙控功能時已近夠用。
STM8L是意法公司的低功耗MCU系列,體積小,適合用于遙控器系統的通信與控制。
藍牙功能的實現使用了藍牙模塊,可同時進行數據傳送與音頻接收,其功耗較大,是整個系統的主要功率來源。
藍牙遙控器系統結構與功能
本系統主要由藍牙模塊,MCU,鍵盤,以及揚聲器組成。
當按下鍵后,鍵盤的鍵值會被編碼,并通過藍牙模塊以ASICC碼的形式發送出去。
藍牙連接建立起來后,接收機可以發送聲音信號給遙控器,遙控器的揚聲器會發聲,可用于尋找遙控器位置。
由于藍牙通信需要先建立連接,故需考慮中途連接中斷的情況。當通信失敗后,系統自動重啟藍牙模塊,并重新建立連接,再繼續進行通信。
系統框圖

圖1 系統總體設計框圖
遙控器硬件主要有:
微控制器(MCU):遙控器的主控部件,與鍵盤連接,可檢測鍵盤狀態,對鍵值進行編碼。通過UART串口與藍牙模塊相連,與藍牙模塊通信,實現建立藍牙連接,數據的輸出與讀入等功能。與功放模塊相連,控制功率放大模塊的開關。通過一個MOSFET管控制電源,當置低時,斷開電源。
藍牙模塊:選用BK8002模塊,與MCU通過UART連接,可以接收指令,并將數據通過藍牙發送以及通過藍牙接收數據。同時將音頻線連接到功率放大器,以供揚聲器輸出。
功率放大模塊:音頻線連接到該模塊,該模塊將放大的音頻信號放大后通過揚聲器輸出。音量不能過大,否則功放會過熱。
揚聲器:播放音頻。
鍵盤:接收用戶輸入。
開關鍵:按下后,系統供電,同時向MCU提供按下信號。
蜂鳴器:發出提醒信號。
電源: 使用鋰電池供電,并使用電壓轉換芯片,分別提供3.3V和5V電壓給MCU和藍牙模塊。其導通由MCU及開關鍵共同控制,即只要MCU給予通電信號或者按下開關鍵都可使電源開始供電。

圖2 主程序流程圖
主程序流程圖
開關機
當按下按鍵后,MCU上電,同時收到開關鍵按下信號,當檢測到該鍵按下2s后,發出通電信號,這時遙控器上電,即開機。再次檢測到該鍵按下5s后,停止發出通電信號,松手后遙控器即斷電。
藍牙握手
當藍牙模塊上電后,會吐出’ON ’,當檢測到該信號后,執行與接收機配對操作,否則重啟藍牙。成功配對后,藍牙模塊吐出’II ’,檢測到該信號后,發送密碼,以進入數據傳送模式,否則繼續等待藍牙連接。
按鍵掃描
對鍵盤不斷進行掃描,當檢測到按下后,將鍵值編碼,并進入發送模式。
鍵值發送
當按鍵是非音量控制按鍵時,將按鍵編碼值以’AT+編碼值’格式通過UART以9600的波特率傳送給藍牙模塊(藍牙模塊自動將值發送出去)。當發送成功后,藍牙模塊會吐出’OK ’。為了避免出現傳輸錯誤,如果沒有檢測到該值,自動重發,當多次未成功后,重啟藍牙模塊。
音量控制
當按鍵是音量控制鍵(音量增、減)時,向藍牙發送控制指令,控制音量加減。當指令發送成功,藍牙模塊會吐出成功信號,若為成功,則重復發送該指令,多次未成功后,重啟藍牙模塊。為避免功放過熱,設定一個最大值來限定音量。
接收音頻信號
藍牙模塊的發送數據功能與接收音頻功能彼此獨立,故在MCU使能功率放大模塊后,接收機可直接發送音頻信號,即可在遙控器上進行播放。
警告與休眠
在藍牙握手時,如果長時間沒有連接,MCU控制蜂鳴器發出提醒聲音。連接建立后,如果鍵盤長時間無動作,MCU進入休眠模式,同時藍牙模塊關閉,直到再次按下按鍵時再復蘇。
斷開連接自動重啟
當藍牙連接斷開后,MCU控制藍牙模塊重啟,并重新嘗試與接收機握手。
本文采用模塊化設計實現了一個藍牙遙控器,其通信準確率與紅外遙控器相當,系統穩定,在出現連接中斷等突發情況下能做出修正以維持正常通信,并且具備較長的通信距離,不需要對準接收裝置,可以做到一對一的遙控,可以完成遠距離控制任務。

鐘詩航 肖 珂 任曉賢
北方工業大學電子信息工程學院
10.3969/j.issn.1001-8972.2016.10.022
北京市大學生科研訓練計劃深化項目