專利名稱::空中鼠標(biāo)及其控制方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及一種鼠標(biāo),具體涉及一種空中鼠標(biāo)。本發(fā)明還涉及一種上述空中鼠標(biāo)的控制方法。
背景技術(shù):
:自鼠標(biāo)問(wèn)世以來(lái),經(jīng)歷了機(jī)械式鼠標(biāo)、光電鼠標(biāo)、激光鼠標(biāo)的幾個(gè)發(fā)展階段,真正意義上的空間鼠標(biāo)目前應(yīng)用還不是太普遍。但隨著現(xiàn)代生活方式的轉(zhuǎn)變和空中鼠標(biāo)應(yīng)用的方便性,它將在不久的將來(lái)得到廣泛的應(yīng)用。空中鼠標(biāo)雖然從操作方式上比傳統(tǒng)鼠標(biāo)方便了很多,但同時(shí)具有它本身的一些局限性。比如如果僅僅采用陀螺儀定位光標(biāo)的移動(dòng),當(dāng)握鼠標(biāo)的姿勢(shì)和穩(wěn)定性得不到保證時(shí),很容易造成鼠標(biāo)的控制不穩(wěn)定或操作不太得心應(yīng)手;同時(shí),傳統(tǒng)鼠標(biāo)上傳數(shù)據(jù)的標(biāo)準(zhǔn)格式是固定的三個(gè)按鍵值(左鍵、右鍵和滾輪)和三個(gè)字節(jié)的位移滾輪信息(橫坐標(biāo)值、縱坐標(biāo)值和滾輪值),如果PC等上位機(jī)產(chǎn)品需要更多的信息時(shí),傳統(tǒng)的鼠標(biāo)就很難滿足。
發(fā)明內(nèi)容本發(fā)明所要解決的技術(shù)問(wèn)題是提供一種空中鼠標(biāo),它可以使陀螺儀控制鼠標(biāo)位移具有更好的穩(wěn)定性和靈活性。為此,本發(fā)明還要提供一種空中鼠標(biāo)的控制方法。為解決上述技術(shù)問(wèn)題,本發(fā)明的空中鼠標(biāo),包括按鍵、滾輪和陀螺儀、加速度傳感器、溫度采集模塊和傳輸模塊,按鍵、陀螺儀、加速度傳感器和溫度采集模塊與傳輸模塊連接,分別將按鍵值、滾輪值、陀螺儀值、加速度傳感器值和溫度值發(fā)送至外部控制器。基于上述空中鼠標(biāo),本發(fā)明的空中鼠標(biāo)的控制方法,包括如下步驟:(1)空中鼠標(biāo)采集按鍵值、加速度傳感器值、陀螺儀值、滾輪值和溫度值;(2)將步驟(1)采集的數(shù)據(jù)進(jìn)行AD轉(zhuǎn)換和信號(hào)穩(wěn)定性處理;(3)將陀螺儀值根據(jù)溫度值進(jìn)行零點(diǎn)漂移修正;(4)基于加速度傳感器值和陀螺儀值計(jì)算空中鼠標(biāo)的坐標(biāo)值;(5)保存按鍵值、加速度傳感器值、滾輪值、溫度值和坐標(biāo)值;(6)判斷是否接收到外部控制器的控制命令,如果收到,則執(zhí)行步驟(7),如果沒(méi)有收到,則進(jìn)一步判斷空中鼠標(biāo)是否接收過(guò)控制信號(hào),如果是則按照上次發(fā)送的數(shù)據(jù)格式將數(shù)據(jù)存入發(fā)送緩存,執(zhí)行步驟(8),如果否則按照標(biāo)準(zhǔn)鼠標(biāo)格式將數(shù)據(jù)存入發(fā)送緩存,執(zhí)行步驟(8);(7)根據(jù)接收的控制命令所要求的數(shù)據(jù)格式將數(shù)據(jù)存入發(fā)送緩存;(8)將發(fā)送緩存中的數(shù)據(jù)發(fā)至外部控制器,返回步驟(1)。因?yàn)楸景l(fā)明引入三軸加速度傳感器和溫度采集模塊,使陀螺儀控制鼠標(biāo)位移具有更好的穩(wěn)定性和靈活性;同時(shí)本發(fā)明采用多種不同的數(shù)據(jù)傳輸格式和內(nèi)容,使傳統(tǒng)的鼠標(biāo)加入了新的功能,PC可以根據(jù)功能需要選擇對(duì)應(yīng)的控制信號(hào),使空中鼠標(biāo)的應(yīng)用更加廣泛。下面結(jié)合附圖和具體實(shí)施方式對(duì)本發(fā)明作進(jìn)一步詳細(xì)說(shuō)明。圖l是本發(fā)明的流程圖2是本發(fā)明一個(gè)實(shí)施例的溫度變化與陀螺儀零點(diǎn)之間的曲線關(guān)系示意圖。具體實(shí)施例方式本發(fā)明的空中鼠標(biāo),包括按鍵、滾輪和陀螺儀、加速度傳感器、溫度采集模塊和傳輸模塊,按鍵、陀螺儀、加速度傳感器和溫度采集模塊與傳輸模塊連接,分別將按鍵值、滾輪值、陀螺儀值、加速度傳感器值和溫度值發(fā)送至外部控制器。其中加速度傳感器為三維加速度傳感器,傳輸模塊為藍(lán)牙傳輸模塊。如圖l所示是本發(fā)明空中鼠標(biāo)控制方法的流程圖,包括下列步驟(1)空中鼠標(biāo)先采集電量值,當(dāng)電量值低于空中鼠標(biāo)的工作電量時(shí),斷開(kāi)與外部控制器的連接,停止工作。電量值正常時(shí)進(jìn)一步采集按鍵值、加速度傳感器值、陀螺儀值、滾輪值和溫度值。(2)將步驟(1)采集的數(shù)據(jù)進(jìn)行AD轉(zhuǎn)換,然后再進(jìn)行數(shù)字濾波和均值處理等信號(hào)穩(wěn)定性處理。(3)將陀螺儀值根據(jù)溫度值進(jìn)行零點(diǎn)漂移修正,即根據(jù)測(cè)定的溫度變化與陀螺儀零點(diǎn)之間的曲線關(guān)系修正陀螺儀值。一般情況下,如果空間鼠標(biāo)中只有一個(gè)陀螺儀來(lái)控制光標(biāo)的定位,一旦陀螺儀的輸出信號(hào)隨著外部條件發(fā)生變化時(shí)(比如溫度的變化,信號(hào)的擾動(dòng)等),會(huì)造成陀螺儀輸出的信號(hào)與實(shí)際的動(dòng)作產(chǎn)生較大的差異。加入溫度采集模塊后,溫度模塊實(shí)時(shí)采集陀螺儀的溫度情況,根據(jù)實(shí)驗(yàn)得到的數(shù)據(jù)擬合出一條溫度與穩(wěn)定狀態(tài)下陀螺儀輸出的曲線,再根據(jù)該曲線和目前采集到的溫度值計(jì)算出目前穩(wěn)定狀態(tài)對(duì)應(yīng)的陀螺儀輸出。如圖2所示是根據(jù)溫度的變化,測(cè)試出的溫度變化與陀螺儀零點(diǎn)之間的曲線關(guān)系。經(jīng)過(guò)曲線擬合,得到溫度與零點(diǎn)的曲線方程,再根據(jù)具體采集到的溫度值,調(diào)整陀螺儀的零點(diǎn)位置。例如圖2中當(dāng)采集到的溫度值為370(溫度傳感器讀數(shù)值,非實(shí)際溫度值)時(shí),根據(jù)對(duì)應(yīng)的擬合曲線方程,得到此時(shí)的陀螺儀中心值如下ZeroX=157.49*375*375-109759*375+19637593=22147031-41159625+19637593=624999這樣就獲得對(duì)應(yīng)的中心點(diǎn)值。(4)基于加速度傳感器值和陀螺儀值計(jì)算空中鼠標(biāo)的坐標(biāo)值,包括根據(jù)加速度傳感器值判斷陀螺儀的狀態(tài)是否穩(wěn)定,若穩(wěn)定則根據(jù)陀螺儀值計(jì)算空中鼠標(biāo)的坐標(biāo)值,若有干擾則修正陀螺儀值對(duì)應(yīng)的坐標(biāo)值。三軸加速度傳感器對(duì)陀螺儀而言是一個(gè)極好的運(yùn)動(dòng)參考。正常的運(yùn)動(dòng)情況會(huì)在陀螺儀和加速度傳感器上都會(huì)產(chǎn)生一定的影響,如果有其它的影響發(fā)生在陀螺儀上(比如信號(hào)的擾動(dòng)),如果此時(shí)我們通過(guò)加速度傳感器檢測(cè)到鼠標(biāo)處于靜止?fàn)顟B(tài),而陀螺儀上有一個(gè)異常的信號(hào)輸出,根據(jù)加速度模塊的參考,就能夠很容易的將非正常擾動(dòng)去除。加速度傳感檢測(cè)鼠標(biāo)穩(wěn)定的方式是通過(guò)以下公式實(shí)現(xiàn)Sqrt(acc—X氺acc一X+acc一X氺acc—Y+acc—X承acc—Z)=acc—G+/一Threshold,其中,acc—X,acc_Y,acc_Z為三軸加速度,acc_G是重力加速度,Threshold是用戶根據(jù)實(shí)際情況定義的范圍。(5)保存電量值、按鍵值、加速度傳感器值、滾輪值、溫度值和坐標(biāo)值。(6)判斷是否接收到外部控制器的控制命令,如果收到,則執(zhí)行步驟(7),如果沒(méi)有收到,則進(jìn)一步判斷空中鼠標(biāo)是否接收過(guò)控制信號(hào),如果是則按照上次發(fā)送的數(shù)據(jù)格式將數(shù)據(jù)存入發(fā)送緩存,執(zhí)行步驟(8),如果否則按照標(biāo)準(zhǔn)鼠標(biāo)格式將數(shù)據(jù)存入發(fā)送緩存,執(zhí)行步驟(8)。(7)根據(jù)接收的控制命令所要求的數(shù)據(jù)格式將數(shù)據(jù)存入發(fā)送緩存。數(shù)據(jù)格式采用多種由用戶定義的格式,包括由步驟(5)所保存的數(shù)據(jù)值參數(shù)的多種組合。PC上建立一個(gè)應(yīng)用模塊,可以根據(jù)PC系統(tǒng)的需要發(fā)送不同的命令給空中鼠標(biāo)模塊,空中鼠標(biāo)模塊收到命令后返回對(duì)應(yīng)的數(shù)據(jù)信號(hào)。例如PC機(jī)發(fā)送給空中鼠標(biāo)模塊的命令碼是0x02,空中鼠標(biāo)按照以下格式發(fā)送數(shù)據(jù)給PC。<table>tableseeoriginaldocumentpage8</column></row><table>如果PC發(fā)送給空中鼠標(biāo)模塊的命令碼是0x60,空中鼠標(biāo)按照以下格式發(fā)送數(shù)據(jù)給PC。<table>tableseeoriginaldocumentpage8</column></row><table>這樣,空中鼠標(biāo)將加速度值傳給了PC,PC可以將這些值經(jīng)過(guò)處理后控制游戲中的人物動(dòng)作等等。如果PC發(fā)送給空中鼠標(biāo)模塊的命令碼是0x61,空中鼠標(biāo)按照以下格式發(fā)送數(shù)據(jù)給PC。<table>tableseeoriginaldocumentpage9</column></row><table>這樣,PC獲得了加速度、陀螺儀、溫度和按鍵值,可以做空間定位方面的應(yīng)用。對(duì)于更多的應(yīng)用,用戶可以根據(jù)需要定義不同的命令,獲得不同的有效控制數(shù)據(jù)和組合方式,使系統(tǒng)的應(yīng)用更加靈活。(8)將發(fā)送緩存中的數(shù)據(jù)發(fā)至外部控制器,返回步驟(1)。綜上所述,本發(fā)明引入三軸加速度傳感器和溫度采集模塊,使陀螺儀控制鼠標(biāo)位移具有更好的穩(wěn)定性和靈活性;同時(shí)本發(fā)明采用多種不同的數(shù)據(jù)傳輸格式和內(nèi)容,使傳統(tǒng)的鼠標(biāo)加入了新的功能,PC可以根據(jù)功能需要選擇對(duì)應(yīng)的控制信號(hào),使空中鼠標(biāo)的應(yīng)用更加廣泛。權(quán)利要求1、一種空中鼠標(biāo),包括按鍵、滾輪和陀螺儀,其特征在于,所述空中鼠標(biāo)還包括加速度傳感器、溫度采集模塊和傳輸模塊,所述按鍵、陀螺儀、加速度傳感器和溫度采集模塊與所述傳輸模塊連接,分別將按鍵值、滾輪值、陀螺儀值、加速度傳感器值和溫度值發(fā)送至外部控制器。2、如權(quán)利要求1所述的空中鼠標(biāo),其特征在于,所述加速度傳感器為三維加速度傳感器。3、如權(quán)利要求l所述的空中鼠標(biāo),其特征在于,所述傳輸模塊為藍(lán)牙傳輸模塊。4、一種權(quán)利要求l所述空中鼠標(biāo)的控制方法,其特征在于,包括如下步驟(1)空中鼠標(biāo)采集按鍵值、加速度傳感器值、陀螺儀值、滾輪值和溫度值;(2)將步驟(1)采集的數(shù)據(jù)進(jìn)行AD轉(zhuǎn)換和信號(hào)穩(wěn)定性處理;(3)將陀螺儀值根據(jù)溫度值進(jìn)行零點(diǎn)漂移修正;(4)基于加速度傳感器值和陀螺儀值計(jì)算空中鼠標(biāo)的坐標(biāo)值;(5)保存按鍵值、加速度傳感器值、滾輪值、溫度值和坐標(biāo)值;(6)判斷是否接收到外部控制器的控制命令,如果收到,則執(zhí)行步驟(7),如果沒(méi)有收到,則進(jìn)一步判斷空中鼠標(biāo)是否接收過(guò)控制信號(hào),如果是則按照上次發(fā)送的數(shù)據(jù)格式將數(shù)據(jù)存入發(fā)送緩存,執(zhí)行步驟(8),如果否則按照標(biāo)準(zhǔn)鼠標(biāo)格式將數(shù)據(jù)存入發(fā)送緩存,執(zhí)行步驟(8);(7)根據(jù)接收的控制命令所要求的數(shù)據(jù)格式將數(shù)據(jù)存入發(fā)送緩存;(8)將發(fā)送緩存中的數(shù)據(jù)發(fā)至外部控制器,返回步驟(1)。5、如權(quán)利要求3所述的空中鼠標(biāo)的控制方法,其特征在于,所述步驟(1)之前還包括采集空中鼠標(biāo)的電量值,當(dāng)電量值低于空中鼠標(biāo)的工作電量時(shí),斷開(kāi)與外部控制器的連接,停止工作;所述步驟(5)還包括保存電量值。6、如權(quán)利要求3所述的空中鼠標(biāo)的控制方法,其特征在于,步驟(2)所述的信號(hào)穩(wěn)定性處理包括數(shù)字濾波和均值處理。7、權(quán)利要求3所述的空中鼠標(biāo)的控制方法,其特征在于,步驟(3)所述的零點(diǎn)漂移修正為根據(jù)測(cè)定的溫度變化與陀螺儀零點(diǎn)之間的曲線關(guān)系修正陀螺儀值。8、權(quán)利要求3所述的空中鼠標(biāo)的控制方法,其特征在于,步驟(4)所述的基于加速度傳感器值和陀螺儀值計(jì)算空中鼠標(biāo)的坐標(biāo)值包括根據(jù)加速度傳感器值判斷陀螺儀的狀態(tài)是否穩(wěn)定,若穩(wěn)定則根據(jù)陀螺儀值計(jì)算空中鼠標(biāo)的坐標(biāo)值,若有干擾則修正陀螺儀值對(duì)應(yīng)的坐標(biāo)值。9、權(quán)利要求3所述的空中鼠標(biāo)的控制方法,其特征在于,步驟(7)所述的數(shù)據(jù)格式采用多種由用戶定義的格式,包括由步驟(5)所保存的數(shù)據(jù)值參數(shù)的多種組合。全文摘要本發(fā)明公開(kāi)了一種空中鼠標(biāo),包括按鍵、滾輪和陀螺儀、加速度傳感器、溫度采集模塊和傳輸模塊,按鍵、陀螺儀、加速度傳感器和溫度采集模塊與所述傳輸模塊連接,分別將按鍵值、滾輪值、陀螺儀值、加速度傳感器值和溫度值發(fā)送至外部控制器。本發(fā)明還公開(kāi)了一種基于上述空中鼠標(biāo)的控制方法。本發(fā)明通過(guò)引入三軸加速度傳感器和溫度采集模塊,使陀螺儀控制鼠標(biāo)位移具有更好的穩(wěn)定性和靈活性;同時(shí)采用多種不同的數(shù)據(jù)傳輸格式和內(nèi)容,使傳統(tǒng)的鼠標(biāo)加入了新的功能,PC可以根據(jù)功能需要選擇對(duì)應(yīng)的控制信號(hào),使空中鼠標(biāo)的應(yīng)用更加廣泛。文檔編號(hào)G06F3/033GK101634907SQ20081004365公開(kāi)日2010年1月27日申請(qǐng)日期2008年7月21日優(yōu)先權(quán)日2008年7月21日發(fā)明者喻應(yīng)東申請(qǐng)人:鼎億數(shù)碼科技(上海)有限公司;鼎億公司