新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于體感算法的多功能藍(lán)牙遙控器的設(shè)計(jì)

基于體感算法的多功能藍(lán)牙遙控器的設(shè)計(jì)

作者: 時(shí)間:2013-10-10 來(lái)源:網(wǎng)絡(luò) 收藏
隨著三網(wǎng)融合[1]的推進(jìn),多功能電視機(jī)頂盒已經(jīng)進(jìn)入了千家萬(wàn)戶。電視除了能夠收看電視節(jié)目外,視頻點(diǎn)播、瀏覽網(wǎng)頁(yè)、多媒體游戲、視頻通話等功能也已經(jīng)或即將被引入現(xiàn)代電視(或電視機(jī)頂盒)中。因此,僅具有按鍵功能的紅外線遙控器已經(jīng)無(wú)法滿足如此眾多的功能需求。為此,本文在普通遙控器的按鍵功能上增加了體感模塊和語(yǔ)音模塊,引入了體感控制算法,并以藍(lán)牙協(xié)議作為通信方式,設(shè)計(jì)了一款具有體感控制功能的多功能遙控器。

1 系統(tǒng)總體設(shè)計(jì)

系統(tǒng)總體設(shè)計(jì)框圖如圖1所示。系統(tǒng)以HL1010芯片為控制核心,數(shù)字加速度傳感器、數(shù)字陀螺儀和地磁計(jì)的數(shù)據(jù)通過(guò)I2C總線傳至HL1010的微控制器,經(jīng)過(guò)濾波和的處理,轉(zhuǎn)化為主機(jī)服務(wù)端可用的數(shù)據(jù),由HL1010的藍(lán)牙控制器傳至主機(jī)服務(wù)端。微控制器對(duì)鍵盤(pán)模塊進(jìn)行鍵盤(pán)掃描,將鍵值通過(guò)藍(lán)牙發(fā)送至主機(jī)服務(wù)端外,還可以進(jìn)行簡(jiǎn)單的音頻壓縮和解碼,并通過(guò)藍(lán)牙控制器和語(yǔ)音模塊,完成遙控器和主機(jī)服務(wù)端的語(yǔ)音傳輸。遙控器中加入了E2PROM,用以存儲(chǔ)程序和初始化數(shù)據(jù)以及藍(lán)牙通信所需的重連信息。電源管理模塊用以管理各個(gè)模塊之間的電源,達(dá)到節(jié)能和延長(zhǎng)電池使用壽命的作用。此外,串口接口為HL1010燒錄程序的接口。


2 硬件設(shè)計(jì)

2.1 HL1010接口及外圍電路

HL1010為藍(lán)牙控制芯片,其特點(diǎn)是:除了具有獨(dú)立的藍(lán)牙控制核心外,還集成了一顆微控制器核心;具有28個(gè)獨(dú)立的GPIO,兩路語(yǔ)音輸入輸出通道;集成了I2C和SPI控制器,便于外圍設(shè)備的擴(kuò)展;內(nèi)部固化了鍵盤(pán)掃描固件,可以通過(guò)簡(jiǎn)單的寄存器讀寫(xiě)完成鍵盤(pán)掃描。

利用HL1010的外圍電路,其中,GPIO10~GPIO17作為鍵盤(pán)行掃描,GPIO30~GPI-O37作為鍵盤(pán)列掃描;GPIO20~GPIO27為電源管理GPIO,分別通過(guò)軟件來(lái)控制加速度傳感器、數(shù)字陀螺儀、地磁計(jì)、E2PROM、揚(yáng)聲器、振動(dòng)電機(jī)等模塊的開(kāi)關(guān),以達(dá)到節(jié)能的作用;Pin44、45、48、49、50為語(yǔ)音模塊接口,pin23、24為I2C接口。其余引腳為芯片的供電和射頻匹配電路。HL1010的外圍電路可參考文獻(xiàn)[2]。

2.2 傳感器模塊

表1為本設(shè)計(jì)中傳感器的部分參數(shù),三個(gè)傳感器都通過(guò)I2C總線與主控芯片進(jìn)行交互,電路設(shè)計(jì)較為簡(jiǎn)單。


3 軟件設(shè)計(jì)

3.1

體感功能中最常用的是空中鼠標(biāo),即通過(guò)遙控器在空中的揮舞來(lái)控制屏幕中鼠標(biāo)的運(yùn)動(dòng),同時(shí)通過(guò)遙控器按鍵實(shí)現(xiàn)鼠標(biāo)按鍵的操作,從而使用戶能在遠(yuǎn)距離的三維空間中獲得鼠標(biāo)的操作功能。為了實(shí)現(xiàn)空中鼠標(biāo)的功能,本文采用陀螺儀和加速度傳感器。通過(guò)對(duì)陀螺儀得到的角速度數(shù)據(jù)分析得出遙控器的運(yùn)動(dòng)狀態(tài),作為空中鼠標(biāo)的主要數(shù)據(jù);通過(guò)對(duì)加速度傳感器提供的加速度(主要是判斷重力加速度的方向)數(shù)據(jù)進(jìn)行分析,得到遙控器所處的姿態(tài),從而對(duì)陀螺儀的數(shù)據(jù)進(jìn)行坐標(biāo)轉(zhuǎn)換。陀螺儀所得數(shù)據(jù)中與重力加速度平行的方向?yàn)閅軸,與重力加速度垂直的為X軸,使最終空中鼠標(biāo)的Y軸與重力加速度的平行方向始終一致、X軸與重力加速度的垂直方向始終一致。其數(shù)學(xué)方法如下[3-4]:

遙控器的加速度為as,大地系加速度為ai,兩者的轉(zhuǎn)化關(guān)系為:

ai=asRis (1)
其中,Ris為遙控器相對(duì)于大地系的余弦陣,其表達(dá)式為:


經(jīng)過(guò)坐標(biāo)轉(zhuǎn)換后,無(wú)論使用者如何將遙控器握在手中(正握,反握,豎立,倒立等),空中鼠標(biāo)的運(yùn)動(dòng)僅與使用者手臂的運(yùn)動(dòng)方向有關(guān),而與遙控器的運(yùn)動(dòng)方向無(wú)關(guān)。

紅外遙控器相關(guān)文章:紅外遙控器原理

萬(wàn)能遙控器相關(guān)文章:萬(wàn)能遙控器代碼


加速度計(jì)相關(guān)文章:加速度計(jì)原理

上一頁(yè) 1 2 下一頁(yè)

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉