<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 手勢識別器終端的設計

手勢識別器終端的設計

作者: 時(shí)間:2015-03-31 來(lái)源:網(wǎng)絡(luò ) 收藏

  引言

本文引用地址:http://dyxdggzs.com/article/271880.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)作姿勢及代碼,以及與演示系統交互的指令。

  預定義的動(dòng)作

  系統設計了六種動(dòng)作,他們分別是左搖、右搖、下?lián)u、上搖、圖片左轉、圖片右轉。圖4中的圖形象地說(shuō)明了其中的兩個(gè)動(dòng)作,其它的動(dòng)作與此類(lèi)似。

  

 

  

 

  系統還為每個(gè)動(dòng)作定義了相應的動(dòng)作代碼,見(jiàn)表1。

  

 

  當單片機檢測到某個(gè)動(dòng)作時(shí)會(huì )將相應的值賦給變量type_action,之后通過(guò)SCI將type_action的值發(fā)送到演示終端。如果用戶(hù)執行的動(dòng)作不在這六個(gè)動(dòng)作之中,則將NO_ACTION賦給type_action,表示演示終端不執行任何動(dòng)作。

  系統還定義了單片機與演示終端交互的指令,用于系統在主菜單和二級菜單之間的界面切換,指令從演示系統通過(guò)SCI傳給單片機,單片機接收到之后進(jìn)入或退出二級菜單,見(jiàn)表2。

  

 

  這里僅定義了一個(gè)二級菜單,即圖片菜單,系統還可以定義更多的二級菜單和三級菜單。此外,需要說(shuō)明動(dòng)作MOVE_TURN_LEFT、MOVE_TURN_RIGHT用于圖片翻轉,僅在圖片菜單中可用,在主菜單不可用。動(dòng)作下?lián)u執行的是換下一幅圖片,動(dòng)作上搖執行的是退出圖片菜單。

  演示終端

  本系統目標定位在便攜式消費類(lèi)電子產(chǎn)品上,因此在軟件應用程序上必須選擇具有廣泛基礎的應用平臺。由于近年來(lái)J2ME在便攜式終端中的應用非常廣泛,因此本系統也采用了J2ME平臺進(jìn)行開(kāi)發(fā)。通過(guò)比較,選擇了J2ME的WTK開(kāi)發(fā)包,它是專(zhuān)門(mén)針對移動(dòng)無(wú)線(xiàn)設備而設計的開(kāi)發(fā)包,并提供了一個(gè)統一的平臺。在WTK的框架下開(kāi)發(fā)出來(lái)的java程序可以被眾多的移動(dòng)設備所支持,所以能夠有效解決兼容性的問(wèn)題。

  在WTK下我們利用默認的一個(gè)手機樣機的仿真器DefaultColorPhone進(jìn)行開(kāi)發(fā),DefaultColorPhone的樣子如圖6。

  

 

  仿真器的外觀(guān)和操作類(lèi)似一部移動(dòng)電話(huà),但是并不代表某個(gè)特定的設備,而是提供對其所支持的API 的正確實(shí)現,每個(gè)命令按鈕對應著(zhù)相應的API函數。從圖6中可以看到手機的導航鍵,我們更改了導航鍵的API函數,使其從鼠標單擊觸發(fā)的方式轉換為串口動(dòng)作代碼控制。首先,我們編寫(xiě)了J2ME的串口接收程序,用于接收從單片機傳來(lái)的單字節的type_action值;然后將type_action以參數的形式傳給API,手機根據不同的type_action值執行不同的動(dòng)作,包括菜單上下翻、進(jìn)出二級子菜單、圖片翻轉等。手機動(dòng)作與type_action的對應關(guān)系如表3。

  

萬(wàn)能遙控器相關(guān)文章:萬(wàn)能遙控器代碼


塵埃粒子計數器相關(guān)文章:塵埃粒子計數器原理
加速度計相關(guān)文章:加速度計原理

上一頁(yè) 1 2 下一頁(yè)

關(guān)鍵詞: MC9S08QG 手勢識別

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>