摘 要: 設計了一種基于單片機的可以自動關閉手機音樂播放器的耳機裝置。該裝置以STC12LE2052單片機為主控器,以三軸數字陀螺儀L3G4200D為位置檢測傳感器,通過檢測耳機使用者頭部的運動狀態,由主控器判斷人是否進入睡眠狀態,如進入睡眠狀態則向手機發送信號,將音樂停止。
關鍵詞: 耳機;L3G4200D;STC12LE2052
當人戴上耳機聽音樂時,某些時候,尤其是在晚上,會因為困倦進入睡眠狀態,而忘記關閉手機的音樂播放器,這樣不僅浪費了手機的電量,還會影響人們的睡眠質量,更加嚴重的是,如果使用者長時間甚至一整夜都沒有關閉音樂播放器,會對其聽力產生不良影響。
目前,國內外普遍采用手機播放器的睡眠定時功能來避免這一情況的出現,但是,這一方法存在一定缺陷:使用者可能會定時過短,即其還沒有進入睡眠狀態音樂播放器就關閉了;也可能會定時過長,即其已經進入睡眠狀態很久音樂播放器才關閉。
針對這一問題,本文設計了一種基于單片機的智能耳機,它通過檢測耳機使用者頭部的運動狀態,來判別其是否進入睡眠狀態,當處理器判定其進入睡眠狀態后,會發送關閉手機音樂播放器的命令,將其關閉,這樣較好地解決了使用者不能準確設定定時時間的問題。
1 系統設計和工作原理
本系統以單片機STC12LE2052為主控器,以三軸數字陀螺儀L3G4200D為位置檢測模塊,加以耳機控制電路模塊和電源模塊組成。該系統的工作原理如下:按下電源供電開關,系統開始工作,利用三軸數字陀螺儀L3G4200D獲取耳機使用者頭部位置X、Y、Z三軸方向的角度變化信息,這些信息通過I2C總線傳送到單片機STC12LE2052上,由單片機對信息進行處理。結合人的生理習慣:當耳機使用者未進入睡眠狀態時,其頭部會在較短的時間內運動,且運動角度變化較大;一旦耳機使用者進入或即將進入睡眠狀態,其頭部角度變化(正常睡眠呼吸時頭部的起伏)很小,且距下一次頭部較大角度移動會相隔較長時間。因此,若在一定時間內,所檢測的耳機使用者頭部角度變化持續小于設置的某一微小睡眠閾值時[1],則單片機認為耳機使用者已經進入了睡眠狀態,此時單片機通過耳機控制電路模塊向手機發送關閉信號,當手機內的耳機檢測電路檢測到來自耳機控制電路模塊的關閉信號后,手機的音樂播放器則暫停播放。系統結構框圖如圖1所示。
2 硬件設計
2.1 位置檢測模塊
位置檢測模塊采用L3G4200D芯片。L3G4200D是意法半導體(ST)推出的一種采用一個感應結構檢測三條正交軸向運動的低功耗三軸數字陀螺儀,可以精確地檢測角速率。用戶可以設定量程,量程范圍從±250 dps~ ±2 000 dps[2],低量程數值適用于高精度慢速運動測量,而高量程則適用于測量超快速的運動;它體積很小,僅為4 mm×4 mm×1 mm;具有I2C/SPI數字輸出口,提供一個16位數據輸出;工作電壓2.4 V~3.6 V;并具備省電睡眠模式。
位置檢測模塊電路如圖2所示,L3G4200D的串行時鐘(SCL)口和串行數據(SDA)口與單片機連接;CS口控制I2C/SPI模式選擇(1:啟用I2C模式;0:啟用SPI模式),本系統中CS口通過上拉電阻接VCC,啟用I2C模式;SDO口可以修改L3G4200D作為I2C從站時的地址(當SDO接VCC時,其地址為1101001b;當SDO接GND時,其地址為1101000b);PLL口外接濾波電路(C1,C2,R7的典型值分別為470 nF,10 nF,10 kΩ)。
2.2 STC12LE2052簡介
STC12LE2052單片機是高速、低功耗的新一代兼容8051內核單片機。其共20個引腳,15個通用I/O口;內部集成MAX810專用復位電路;具有2路PWM/PCA(可編程計數陣列);用戶可用程序空間為2 KB;片上集成256 B RAM;支持ISP(在系統可編程)/IPA(在應用可編程);工作電壓2.4~3.8 V[3];具有DIP/SOP/TSSOP(超小封裝6.4 mm×6.4 mm)3種封裝形式[4]。
本系統以STC12LE2052單片機為主控芯片,系統主控電路如圖3所示。單片機的P1.0口和P1.1口分別與L3G4200D的SDA口和SCL口相連,通過軟件模擬I2C總線進行兩芯片間的通信;XTAL1口和XTAL2口外接晶振電路;RST口外接復位電路;P1.2口做命令輸出口,連接到耳機控制電路模塊。
2.3 耳機控制電路模塊
耳機控制電路模塊的電路圖如圖3所示。在該電路中采用國際標準的3.5 mm四段式手機耳機插頭,其共有四條引線,依次是:L左聲道、R右聲道、控制端和公共地,控制端和公共地回路間并接有按鍵和麥克,按鍵控制著手機音樂播放器的開與關和來電的接聽與掛斷(耳機進入音樂模式后,當手機內的耳機檢測電路檢測到有按鍵按下時,會將音樂暫停;耳機進入通話模式后,當手機內的耳機檢測電路檢測到有按鍵按下時,會將MIC通路激活打開使其正常工作)。本系統中增加了一個與按鍵并聯的三極管開關,其發射極與控制端相連,集電極與公共地相連,基極與單片機的P1.2口相聯,由單片機控制三極管開關的開啟與關閉,從而達到代替人工手動控制按鍵的目的。
3 系統軟件設計
3.1 初始化
初始化函數主要實現對L3G4200D工作模式的設置,其主要函數參考以下語句:
Single_WriteL3G4200D(CTRL_REG1,0x0f);
//普通模式,X、Y、Z啟用
Single_WriteL3G4200D(CTRL_REG2,0x00);
//選擇高通濾波模式和高通截止頻率
Single_WriteL3G4200D(CTRL_REG3,0x08);
//DRDY/INT2數據準備
Single_WriteL3G4200D(CTRL_REG4,0x00);
//選擇量程,(00:250 dps)
Single_WriteL3G4200D(CTRL_REG5,0x00);
//高通濾波使能(默認全0)
3.2 程序流程
系統程序流程圖如圖6所示,程序初始化后,由單片機依次讀取L3G4200D所檢測的X、Y、Z各軸的坐標位置,每隔0.3 s讀取一次,讀取10次后,計算3 s內X、Y、Z各軸的最大位移量。如果X、Y、Z各軸3 s內的最大位移量全部小于所設定的睡眠閾值,則計數值加1;如果X、Y、Z任意一軸3 s內的最大位移量大于所設定的睡眠閾值,則計數清零。當計數達80(240 s)時,認為耳機使用者已經進入睡眠狀態,此時由單片機的P1.2口發送瞬時高電平,將三極管開關瞬時開啟,從而向手機發送關閉音樂播放器的信號。最后,為了節約電量,單片機和L3G4200D進入睡眠狀態。
本設計為使用者提供了一種通過監測人是否進入睡眠狀態來決定是否自動關閉手機音樂播放器的耳機裝置。該裝置成本低,電路較為簡單,具有較為實用的功能,但還存在一些不足:對于睡眠閾值的設定以及計數到多長時間認為人進入睡眠狀態等問題,還需進一步結合醫學和大量臨床實驗來確定;由于不同品牌,不同型號手機之間的耳機檢測電路存在一些差異,可能會導致手機不能識別關閉音樂播放器的信號。
參考文獻
[1] 冒曉莉,楊博,楊靜秋,等.基于MSP430單片機的節能型數字調頻發射機[J].電子技術應用,2013,39(5):138-140.
[2] 意法半導體公司.L3G4200D芯片手冊[Z].
[3] 呂高.基于STC12LE2052AD和nRF2401模塊的無線通訊設計[J].電力學報,2007,22(4):488-490.
[4] 宏晶公司.STC12LE2052AD芯片手冊[Z].