基于傳感器的手持設(shè)備的交互控制方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及手持設(shè)備的交互控制領(lǐng)域,特別是涉及一種基于傳感器的手持設(shè)備的交互控制方法。
【背景技術(shù)】
[0002]手機(jī)等手持設(shè)備的應(yīng)用量巨大并呈持續(xù)增長(zhǎng)趨勢(shì),而且大部分手持設(shè)備為觸控設(shè)備,基本操作方式是通過(guò)人手觸摸大觸摸屏的方式。這種方式的主要不足如下:1、手指操作時(shí)會(huì)遮擋到屏幕內(nèi)容,影響使用體驗(yàn),而且操作不方便、容易引起誤操作;2、用手指觸摸觸控屏進(jìn)行點(diǎn)擊操作,舒適度差、不利手指健康;3、操作方式與PC不一致,兼容性差,不符合用戶的使用習(xí)慣;4、操作依賴于玻璃觸控屏,方式單一。雖然目前市場(chǎng)上出現(xiàn)過(guò)藍(lán)牙手機(jī)鼠標(biāo)、以搖晃控制的手機(jī)應(yīng)用、搖晃控制手機(jī)操作的方法等技術(shù),但是也存在以下不足:1、需要增加額外的操作設(shè)備或定義麻煩瑣碎的操作方式,缺乏方便性、實(shí)用性;2、這些技術(shù)大都只支持限定應(yīng)用、提供限定功能,缺乏系統(tǒng)性、完整性、標(biāo)準(zhǔn)化;3、識(shí)別精度粗糙、動(dòng)作幅度大、誤差大,缺乏可用性、普適性、可推廣性。
【發(fā)明內(nèi)容】
[0003]為了解決上述的技術(shù)問(wèn)題,本發(fā)明的目的是提供基于傳感器的手持設(shè)備的交互控制方法。
[0004]本發(fā)明解決其技術(shù)問(wèn)題所采用的技術(shù)方案是:
基于傳感器的手持設(shè)備的交互控制方法,包括:
51、設(shè)置傳感器數(shù)據(jù)檢測(cè)頻率;
52、調(diào)用手持設(shè)備的API傳感器事件,獲取傳感器返回的連續(xù)數(shù)據(jù),實(shí)時(shí)地更新并保存三維方向傳感數(shù)據(jù)和三維加速度傳感數(shù)據(jù);
53、設(shè)置手持設(shè)備的基準(zhǔn)點(diǎn);
54、根據(jù)實(shí)時(shí)的三維方向傳感數(shù)據(jù)計(jì)算手持設(shè)備相對(duì)于基準(zhǔn)點(diǎn)的實(shí)時(shí)偏移量,進(jìn)而實(shí)時(shí)地在手持設(shè)備的觸控屏上顯示標(biāo)識(shí)對(duì)象;
55、根據(jù)實(shí)時(shí)的三維加速度傳感數(shù)據(jù)獲得用戶對(duì)手持設(shè)備的操作動(dòng)作并執(zhí)行該操作動(dòng)作。
[0005]進(jìn)一步,所述步驟S3,其具體為:
獲取手持設(shè)備的初始的三維方向傳感數(shù)據(jù)作為手持設(shè)備的基準(zhǔn)點(diǎn),同時(shí)計(jì)算手持設(shè)備相對(duì)于基準(zhǔn)點(diǎn)的實(shí)時(shí)偏移量并判斷實(shí)時(shí)偏移量是否超出預(yù)設(shè)范圍,若是,則根據(jù)該時(shí)刻的三維方向傳感數(shù)據(jù)動(dòng)態(tài)調(diào)整手持設(shè)備的基準(zhǔn)點(diǎn)。
[0006]進(jìn)一步,所述步驟S5,其具體為:
根據(jù)實(shí)時(shí)的三維加速度傳感數(shù)據(jù),計(jì)算獲得三維加速度傳感數(shù)據(jù)的實(shí)時(shí)變化波形,并將獲得的實(shí)時(shí)變化波形與預(yù)設(shè)指令數(shù)據(jù)庫(kù)進(jìn)行比對(duì)后,獲得對(duì)手持設(shè)備的操作動(dòng)作并執(zhí)行該操作動(dòng)作。
[0007]進(jìn)一步,所述步驟S5,其具體為:
濾除幅度過(guò)大的晃動(dòng),以接近靜止態(tài)為基準(zhǔn)狀態(tài),根據(jù)實(shí)時(shí)的三維加速度傳感數(shù)據(jù),計(jì)算獲得三維加速度傳感數(shù)據(jù)的呈一定變化規(guī)律的實(shí)時(shí)變化波形,并將獲得的實(shí)時(shí)變化波形與預(yù)設(shè)指令數(shù)據(jù)庫(kù)進(jìn)行比對(duì),根據(jù)該實(shí)時(shí)變化波形的變化規(guī)律,獲得對(duì)手持設(shè)備的操作動(dòng)作并執(zhí)行該操作動(dòng)作。
[0008]進(jìn)一步,所述手持設(shè)備上設(shè)有平面觸感壓感式的操作按鍵,所述步驟SI之前還包括以下步驟:
S0、實(shí)時(shí)檢測(cè)操作按鍵是否存在觸感信息,若是,則執(zhí)行步驟SI,否則繼續(xù)執(zhí)行本步驟。
[0009]進(jìn)一步,所述步驟S5,其具體為:
檢測(cè)用戶對(duì)操作按鍵的按壓動(dòng)作,進(jìn)而將獲得的按壓動(dòng)作與預(yù)設(shè)指令數(shù)據(jù)庫(kù)進(jìn)行比對(duì),進(jìn)而獲得用戶對(duì)手持設(shè)備的操作動(dòng)作并執(zhí)行該操作動(dòng)作。
[0010]進(jìn)一步,所述預(yù)設(shè)范圍包括橫向跨度Dx和縱向跨度Dy,所述根據(jù)該時(shí)刻的三維方向傳感數(shù)據(jù)動(dòng)態(tài)調(diào)整手持設(shè)備的基準(zhǔn)點(diǎn)的步驟,其具體為:
根據(jù)實(shí)時(shí)偏移量超出預(yù)設(shè)范圍的具體情況,按照以下公式,結(jié)合該時(shí)刻的三維方向傳感數(shù)據(jù)動(dòng)態(tài)調(diào)整手持設(shè)備的基準(zhǔn)點(diǎn):
當(dāng)實(shí)時(shí)偏移量超出預(yù)設(shè)范圍的右邊界時(shí):STnew= xyz [0]-Dx/2 ;
當(dāng)實(shí)時(shí)偏移量超出預(yù)設(shè)范圍的左邊界時(shí):STnew= xyz [0]+Dx/2 ;
當(dāng)實(shí)時(shí)偏移量超出預(yù)設(shè)范圍的上邊界時(shí):STnew= xyz [l]-Dy/2 ;
當(dāng)實(shí)時(shí)偏移量超出預(yù)設(shè)范圍的下邊界時(shí):STnew= xyz[l]+Dy/2 ;
上述各公式中,STnew代表調(diào)整后的新的基準(zhǔn)點(diǎn),Dx和Dy分別代表預(yù)設(shè)范圍的橫向跨度和縱向跨度,xyz [O]表示該時(shí)刻的三維方向傳感數(shù)據(jù)的X坐標(biāo),xyz [I]表示該時(shí)刻的三維方向傳感數(shù)據(jù)的I坐標(biāo)。
[0011]進(jìn)一步,所述步驟S5,其具體為:
根據(jù)實(shí)時(shí)的三維加速度傳感數(shù)據(jù),分別計(jì)算最后5組三維加速度傳感數(shù)據(jù)的變化值后,分別將5組變化值與兩個(gè)以上預(yù)設(shè)區(qū)間進(jìn)行比較從而獲得5組變化值所處的區(qū)間結(jié)果,進(jìn)而將獲得的區(qū)間結(jié)果與預(yù)設(shè)指令數(shù)據(jù)庫(kù)進(jìn)行比對(duì)后,獲得對(duì)手持設(shè)備的操作動(dòng)作并執(zhí)行該操作動(dòng)作。
[0012]本發(fā)明的有益效果是:本發(fā)明的基于傳感器的手持設(shè)備的交互控制方法,包括:S1、設(shè)置傳感器數(shù)據(jù)檢測(cè)頻率;S2、調(diào)用手持設(shè)備的API傳感器事件,獲取傳感器返回的連續(xù)數(shù)據(jù),實(shí)時(shí)地更新并保存三維方向傳感數(shù)據(jù)和三維加速度傳感數(shù)據(jù);S3、設(shè)置手持設(shè)備的基準(zhǔn)點(diǎn);S4、根據(jù)實(shí)時(shí)的三維方向傳感數(shù)據(jù)計(jì)算手持設(shè)備相對(duì)于基準(zhǔn)點(diǎn)的實(shí)時(shí)偏移量,進(jìn)而實(shí)時(shí)地在手持設(shè)備的觸控屏上顯示標(biāo)識(shí)對(duì)象;S5、根據(jù)實(shí)時(shí)的三維加速度傳感數(shù)據(jù)獲得用戶對(duì)手持設(shè)備的操作動(dòng)作并執(zhí)行該操作動(dòng)作。本交互控制方法通過(guò)檢測(cè)手持設(shè)備的微晃動(dòng)對(duì)手持設(shè)備進(jìn)行交互控制,不會(huì)對(duì)手持設(shè)備的屏幕內(nèi)容有任何遮擋,對(duì)目標(biāo)的選擇和操作將更加準(zhǔn)確,控制精度高、誤差小,減少了手持設(shè)備對(duì)觸控屏的依賴,增加了操作方式的多樣性,而且無(wú)需增加額外的操作設(shè)備,實(shí)現(xiàn)成本低。
【附圖說(shuō)明】
[0013]下面結(jié)合附圖和實(shí)施例對(duì)本發(fā)明作進(jìn)一步說(shuō)明。
[0014]圖1是本發(fā)明的基于傳感器的手持設(shè)備的交互控制方法的流程圖;
圖2是本發(fā)明的一具體實(shí)施例所采用的手持設(shè)備的操作按鍵的位置示意圖。
【具體實(shí)施方式】
[0015]參照?qǐng)D1,本發(fā)明提供了一種基于傳感器的手持設(shè)備的交互控制方法,包括:
51、設(shè)置傳感器數(shù)據(jù)檢測(cè)頻率;
52、調(diào)用手持設(shè)備的API傳感器事件,獲取傳感器返回的連續(xù)數(shù)據(jù),實(shí)時(shí)地更新并保存三維方向傳感數(shù)據(jù)和三維加速度傳感數(shù)據(jù);
53、設(shè)置手持設(shè)備的基準(zhǔn)點(diǎn);
54、根據(jù)實(shí)時(shí)的三維方向傳感數(shù)據(jù)計(jì)算手持設(shè)備相對(duì)于基準(zhǔn)點(diǎn)的實(shí)時(shí)偏移量,進(jìn)而實(shí)時(shí)地在手持設(shè)備的觸控屏上顯示標(biāo)識(shí)對(duì)象;
55、根據(jù)實(shí)時(shí)的三維加速度傳感數(shù)據(jù)獲得用戶對(duì)手持設(shè)備的操作動(dòng)作并執(zhí)行該操作動(dòng)作。
[0016]進(jìn)一步作為優(yōu)選的實(shí)施方式,所述步驟S3,其具體為:
獲取手持設(shè)備的初始的三維方向傳感數(shù)據(jù)作為手持設(shè)備的基準(zhǔn)點(diǎn),同時(shí)計(jì)算手持設(shè)備相對(duì)于基準(zhǔn)點(diǎn)的實(shí)時(shí)偏移量并判斷實(shí)時(shí)偏移量是否超出預(yù)設(shè)范圍,若是,則根據(jù)該時(shí)刻的三維方向傳感數(shù)據(jù)動(dòng)態(tài)調(diào)整手持設(shè)備的基準(zhǔn)點(diǎn)。
[0017]進(jìn)一步作為優(yōu)選的實(shí)施方式,所述步驟S5,其具體為:
根據(jù)實(shí)時(shí)的三維加速度傳感數(shù)據(jù),計(jì)算獲得三維加速度傳感數(shù)據(jù)的實(shí)時(shí)變化波形,并將獲得的實(shí)時(shí)變化波形與預(yù)設(shè)指令數(shù)據(jù)庫(kù)進(jìn)行比對(duì)后,獲得對(duì)手持設(shè)備的操作動(dòng)作并執(zhí)行該操作動(dòng)作。
[0018]進(jìn)一步作為優(yōu)選的實(shí)施方式,所述步驟S5,其具體為:
濾除幅度過(guò)大的晃動(dòng),以接近靜止態(tài)為基準(zhǔn)狀態(tài),根據(jù)實(shí)時(shí)的三維加速度傳感數(shù)據(jù),計(jì)算獲得三維加速度傳感數(shù)據(jù)的呈一定變化規(guī)律的實(shí)時(shí)變化波形,并將獲得的實(shí)時(shí)變化波形與預(yù)設(shè)指令數(shù)據(jù)庫(kù)進(jìn)行比對(duì),根據(jù)該實(shí)時(shí)變化波形的變化規(guī)律,獲得對(duì)手持設(shè)備的操作動(dòng)作并執(zhí)行該操作動(dòng)作。
[0019]進(jìn)一步作為優(yōu)選的實(shí)施方式,所述手持設(shè)備上設(shè)有平面觸感壓感式的操作按鍵,所述步驟Si之前還包括以下步驟:
S0、實(shí)時(shí)檢測(cè)操作按鍵是否存在觸感信息,若是,則執(zhí)行步驟SI,否則繼續(xù)執(zhí)行本步驟。
[0020]進(jìn)一步作為優(yōu)選的實(shí)施方式,所述步驟S5,其具體為:
檢測(cè)用戶對(duì)操作按鍵的按壓動(dòng)作,進(jìn)而將獲得的按壓動(dòng)作與預(yù)設(shè)指令數(shù)據(jù)庫(kù)進(jìn)行比對(duì),進(jìn)而獲得用戶對(duì)手持設(shè)備的操作動(dòng)作并執(zhí)行該操作動(dòng)作。
[0021]進(jìn)一步作為優(yōu)選的實(shí)施方式,所述預(yù)設(shè)范圍包括橫向跨度Dx和縱向跨度Dy,所述根據(jù)該時(shí)刻的三維方向傳感數(shù)據(jù)動(dòng)態(tài)調(diào)整手持設(shè)備的基準(zhǔn)點(diǎn)的步驟,其具體為:
根據(jù)實(shí)時(shí)偏移量超出預(yù)設(shè)范圍的具體情況,按照以下公式,結(jié)合該時(shí)刻的三維方向傳感數(shù)據(jù)動(dòng)態(tài)調(diào)整手持設(shè)備的基準(zhǔn)點(diǎn):
當(dāng)實(shí)時(shí)偏移量超出預(yù)設(shè)范圍的右邊界時(shí):STnew= xyz [0]-Dx/2 ;
當(dāng)實(shí)時(shí)偏移量超出預(yù)設(shè)范圍的左邊界時(shí):STnew= xyz [0]+Dx/2 ;
當(dāng)實(shí)時(shí)偏移量超出預(yù)設(shè)范圍的上邊界時(shí):STnew= xyz [l]-Dy/2 ; 當(dāng)實(shí)時(shí)偏移量超出預(yù)設(shè)范圍的下邊界時(shí):STn