用加速度傳感器來(lái)進(jìn)行手勢(shì)識(shí)別器的設(shè)計(jì)

2013-09-06 15:18 來(lái)源:電源網(wǎng) 作者:蒲公英

引言

手機(jī)、MP3播放器、硬盤(pán)播放器、數(shù)碼相機(jī)、PDA等設(shè)備都是通過(guò)導(dǎo)航鍵對(duì)其進(jìn)行控制的。目前比較流行的導(dǎo)航鍵控制方式有四維鍵、搖桿,這是最常見(jiàn)的兩種導(dǎo)航鍵,此外還有一些手機(jī)上有很新穎的導(dǎo)航鍵設(shè)計(jì),例如:LG-KG70的滾軸鍵、LG-KE608的轉(zhuǎn)盤(pán)設(shè)計(jì)、索愛(ài)W830的觸摸式、多普達(dá)D802的飛梭滾輪等等。這里,我們用加速度傳感器設(shè)計(jì)一種看不見(jiàn)的導(dǎo)航鍵來(lái)代替四維鍵的功能,這種方案更能滿足消費(fèi)者的好奇心,滿足消費(fèi)者追逐時(shí)尚的需求。

手勢(shì)識(shí)別的控制原理

本系統(tǒng)利用三軸加速度的值來(lái)判定對(duì)物體運(yùn)動(dòng)預(yù)定義的六種姿勢(shì)。首先,分別對(duì)三個(gè)軸采樣,每個(gè)軸各獲得50個(gè)數(shù)據(jù);然后,分別對(duì)每個(gè)軸上的數(shù)據(jù)進(jìn)行處理來(lái)判定是否發(fā)生了預(yù)定義的動(dòng)作。動(dòng)作定義在下面的部分說(shuō)明,這里僅用Y軸來(lái)說(shuō)明判定的原理。

獲得Y軸上的50個(gè)數(shù)據(jù)存放到數(shù)組y_data[N]中,將這50個(gè)數(shù)求和取平均值。若y_data[N]中數(shù)據(jù)最大值與最小值之差在一個(gè)設(shè)定的閾值之內(nèi),則認(rèn)為物體在Y軸向上是沒(méi)有動(dòng)作的、靜止的,此時(shí)更新y_init值為y_data[N]求得的平均值;否則,y_data[N]中數(shù)據(jù)最大值與最小值之差超出一個(gè)設(shè)定的閾值,則認(rèn)為物體是運(yùn)動(dòng)的,y_init值不變,仍然為上一次靜止?fàn)顟B(tài)時(shí)的值。

圖1和圖2是Y軸分別向左、向右搖動(dòng)時(shí)采樣得到的加速度抽樣值y_data[N]。圖中紅線代表上一次靜止時(shí)的采樣值,藍(lán)線代表運(yùn)動(dòng)時(shí)的采樣值。圖1為向左搖動(dòng)時(shí)的值,可以明顯看出加速度的值較靜止時(shí)有明顯的變化,向著增大的方向變。

1

2

從圖1和圖2中可以看出,兩條黑線之間的數(shù)據(jù)很難斷定是哪個(gè)動(dòng)作產(chǎn)生的,因?yàn)閮蓚€(gè)動(dòng)作都可能產(chǎn)生這樣的值。所以,利用黑線之外的數(shù)據(jù)來(lái)判定是向右還是向左搖。因?yàn)閷?duì)于這兩個(gè)動(dòng)作,黑線之外的數(shù)據(jù)有明顯的差異,數(shù)據(jù)相差很多。對(duì)于圖1這些數(shù)據(jù)大于150,圖2中這些數(shù)據(jù)小于90。因此這些數(shù)據(jù)至少相差60,可以很容易地將向左、向右的兩個(gè)動(dòng)作區(qū)分開(kāi)。

本系統(tǒng)就是根據(jù)這樣的原理來(lái)實(shí)現(xiàn)的,首先分別設(shè)定向左、向右搖時(shí)的閾值和兩個(gè)計(jì)數(shù)器;然后,將新采樣得到的50個(gè)值存放在y_data[N] 中,將每個(gè)值與靜止時(shí)的值y_init比較,如果數(shù)據(jù)超出某個(gè)閾值,則在相應(yīng)的計(jì)數(shù)器上累加,直到所有50個(gè)數(shù)全部比較完畢;最后,根據(jù)計(jì)數(shù)器值的大小來(lái)判定執(zhí)行了某個(gè)動(dòng)作。

同理,利用Z軸的采樣值來(lái)判定向上、向下?lián)u,利用X、Y兩個(gè)軸來(lái)判定執(zhí)行圖片向左翻轉(zhuǎn)還是向右翻轉(zhuǎn),這里略去。

系統(tǒng)描述

系統(tǒng)組成及功能

系統(tǒng)由三個(gè)部分組成:CT-298單片機(jī)控制部分、 MM-2860加速度傳感器部分、演示終端,系統(tǒng)框圖如圖3所示。

3

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

1 2 3 4 > 
手勢(shì)識(shí)別 硬盤(pán)播放器 FTDI constructor 識(shí)別器

相關(guān)閱讀

暫無(wú)數(shù)據(jù)

一周熱門