用加速度傳感器來(lái)進(jìn)行手勢識別器的設計
引言
本文引用地址:http://dyxdggzs.com/article/159606.htm手機、MP3播放器、硬盤(pán)播放器、數碼相機、PDA等設備都是通過(guò)導航鍵對其進(jìn)行控制的。目前比較流行的導航鍵控制方式有四維鍵、搖桿,這是最常見(jiàn)的兩種導航鍵,此外還有一些手機上有很新穎的導航鍵設計,例如:LG-KG70的滾軸鍵、LG-KE608的轉盤(pán)設計、索愛(ài)W830的觸摸式、多普達D802的飛梭滾輪等等。這里,我們用加速度傳感器設計一種看不見(jiàn)的導航鍵來(lái)代替四維鍵的功能,這種方案更能滿(mǎn)足消費者的好奇心,滿(mǎn)足消費者追逐時(shí)尚的需求。
本系統利用三軸加速度的值來(lái)判定對物體運動(dòng)預定義的六種姿勢。首先,分別對三個(gè)軸采樣,每個(gè)軸各獲得50個(gè)數據;然后,分別對每個(gè)軸上的數據進(jìn)行處理來(lái)判定是否發(fā)生了預定義的動(dòng)作。動(dòng)作定義在下面的部分說(shuō)明,這里僅用Y軸來(lái)說(shuō)明判定的原理。
獲得Y軸上的50個(gè)數據存放到數組y_data[N]中,將這50個(gè)數求和取平均值。若y_data[N]中數據最大值與最小值之差在一個(gè)設定的閾值之內,則認為物體在Y軸向上是沒(méi)有動(dòng)作的、靜止的,此時(shí)更新y_init值為y_data[N]求得的平均值;否則,y_data[N]中數據最大值與最小值之差超出一個(gè)設定的閾值,則認為物體是運動(dòng)的,y_init值不變,仍然為上一次靜止狀態(tài)時(shí)的值。
圖1和圖2是Y軸分別向左、向右搖動(dòng)時(shí)采樣得到的加速度抽樣值y_data[N]。圖中紅線(xiàn)代表上一次靜止時(shí)的采樣值,藍線(xiàn)代表運動(dòng)時(shí)的采樣值。圖1為向左搖動(dòng)時(shí)的值,可以明顯看出加速度的值較靜止時(shí)有明顯的變化,向著(zhù)增大的方向變。


從圖1和圖2中可以看出,兩條黑線(xiàn)之間的數據很難斷定是哪個(gè)動(dòng)作產(chǎn)生的,因為兩個(gè)動(dòng)作都可能產(chǎn)生這樣的值。所以,利用黑線(xiàn)之外的數據來(lái)判定是向右還是向左搖。因為對于這兩個(gè)動(dòng)作,黑線(xiàn)之外的數據有明顯的差異,數據相差很多。對于圖1這些數據大于150,圖2中這些數據小于90。因此這些數據至少相差60,可以很容易地將向左、向右的兩個(gè)動(dòng)作區分開(kāi)。
本系統就是根據這樣的原理來(lái)實(shí)現的,首先分別設定向左、向右搖時(shí)的閾值和兩個(gè)計數器;然后,將新采樣得到的50個(gè)值存放在y_data[N]中,將每個(gè)值與靜止時(shí)的值y_init比較,如果數據超出某個(gè)閾值,則在相應的計數器上累加,直到所有50個(gè)數全部比較完畢;最后,根據計數器值的大小來(lái)判定執行了某個(gè)動(dòng)作。
同理,利用Z軸的采樣值來(lái)判定向上、向下?lián)u,利用X、Y兩個(gè)軸來(lái)判定執行圖片向左翻轉還是向右翻轉,這里略去。
系統描述
系統組成及功能
系統由三個(gè)部分組成:CT-298單片機控制部分、 MM-2860加速度傳感器部分、演示終端,系統框圖如圖3所示。

CT-298單片機控制部分主要負責傳感器數據的A/D變換、動(dòng)作檢測、與演示終端進(jìn)行數據通信。MM-2860加速度傳感器部分負責加速度值的測量并將其轉換為電壓值。演示終端負責處理從單片機傳來(lái)的動(dòng)作類(lèi)型并執行相應的動(dòng)作,同時(shí)向單片機返回進(jìn)出二級菜單的指令。對于CT-298單片機系統更詳細的設計將在下面的部分介紹,這里首先介紹一下本系統設計的動(dòng)作姿勢及代碼,以及與演示系統交互的指令。
傳感器相關(guān)文章:傳感器工作原理
風(fēng)速傳感器相關(guān)文章:風(fēng)速傳感器原理 蜂鳴器相關(guān)文章:蜂鳴器原理 加速度計相關(guān)文章:加速度計原理
評論