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