關(guān) 閉

新聞中心

EEPW首頁 > 工控自動化 > 設(shè)計應(yīng)用 > 用加速度傳感器來進行手勢識別器的設(shè)計

用加速度傳感器來進行手勢識別器的設(shè)計

作者: 時間:2012-12-21 來源:網(wǎng)絡(luò) 收藏

動作檢測

動作檢測主要是用獲得的三組數(shù)據(jù)值x_data[N]、y_data[N]、z_data[N]來判定當(dāng)前動作是系統(tǒng)設(shè)定動作中的哪一個,如果符合,則發(fā)送這個動作對應(yīng)的預(yù)定義值給演示終端,否則發(fā)送NO_ACTION。type_dectction()用來實現(xiàn)動作檢測,其中type_move為函數(shù)內(nèi)部變量,用于記錄動作代碼。type_dectction()動作檢測的流程如圖8所示。

用加速度傳感器來進行手勢識別器的設(shè)計

演示終端

J2ME平臺開發(fā)環(huán)境配置

J2ME的開發(fā)需要從網(wǎng)絡(luò)上下載免費的開發(fā)環(huán)境。運行Eclipse后最后的配置:Window->preferences->J2ME->Platform Component然后右鍵選擇 Wireless Toolkil,再選擇彈出菜單中的 Add Wireless Toolkil,選擇剛剛安裝的J2ME Toolkit的安裝路徑: C:WTK22,這樣基本配置就完成了。

J2ME的WTK開發(fā)包是專門針對移動無線設(shè)備而的開發(fā)包,并提供了一個統(tǒng)一的平臺。在WTK的框架下開發(fā)出來的java程序可以被眾多的移動設(shè)備所支持,能夠有效解決兼容性的問題。

軟件應(yīng)用程序

程序分為主進程、串口監(jiān)視模塊和定制化用戶界面三大部分,分別基于J2ME不同的類庫派生而成,三部分之間通過消息機制相互聯(lián)系,共同構(gòu)成整個程序的運行周期。具體每個模塊所實現(xiàn)的功能參考下節(jié)內(nèi)容。

軟件應(yīng)用程序的組織結(jié)構(gòu)

本軟件應(yīng)用程序在WTK的手機仿真器下進行,分為Base和display兩個package。在Base Package中包含MainRoutine.java和RS232Port.java兩個java文件;在display Package中的文件較多,主要實現(xiàn)了UI和基本的key響應(yīng)。下面介紹軟件部分的實現(xiàn)方法:

·MainRoutine類

MainRoutine為程序的入口類,它整合了程序中的所有的對象。MainRoutine派生于MIDlet類,重載實現(xiàn)了MIDlet中的startApp、pauseApp、destroyApp等方法,并且在constructor中加入了exitCommand命令,從而實現(xiàn)了手機的關(guān)機功能。

可以看出MainRoutine實現(xiàn)了程序的入口和退出,并同時標(biāo)志了程序的基本框架,給具體的功能應(yīng)用打下了堅實的基礎(chǔ)。

·vCanvas類

vCanvas繼承了Canvas類,并增加了externalMsg方法。之所以在其中增加externalMsg方法,是因為其超類Canvas不能動態(tài)地響應(yīng)key,而我們對Canvas的要求是能夠通過對串口導(dǎo)入的數(shù)據(jù)(或按鍵)得到的keyCode做出相應(yīng)的動作,比如圖片的翻轉(zhuǎn)、文本的滾動等等。于是,我們可以通過vCanvas派生出一系列的子類,實現(xiàn)我們的具體要求,為將來的開發(fā)提供了方便。

·DisplayItem類

DisplayItem是基礎(chǔ)類,提供了通用的string數(shù)據(jù)組合。該類的構(gòu)造方法中需要輸入shortText、longText和extra三個string參數(shù),這樣就保證了每個DisplayItem都可以返回三個不同長度的文本信息,在不同的場合使用。其中shortText用于UI中的標(biāo)題顯示,longText為Item的主體內(nèi)容,extra為Item的附加信息。 DisplayItem類在本系統(tǒng)中會被例化來描述菜單和子功能的內(nèi)容,是應(yīng)用廣泛的一個基礎(chǔ)類。

·ImageCanvas類

ImageCanvas同樣繼承于基礎(chǔ)類vCanvas,它的主要功能是實現(xiàn)了對圖片的瀏覽及旋轉(zhuǎn)、鏡像等基本操作。

考慮到目前使用手機瀏覽圖片、拍攝圖片的多方向性,如果能夠通過自動校正圖片的方向,使它自動滿足我們想要的方向,那么我們就免除了很多不必要的麻煩。于是我們對圖片的瀏覽功能模塊增加了向左或者向右旋轉(zhuǎn)90°的功能。這樣用戶就會驚喜地發(fā)現(xiàn)無論他的手機怎樣擺放,顯示的圖片將永遠(yuǎn)保持與地面垂直。

·ListCanvas類

ListCanvas提供了主畫面的顯示能力,并將用戶操作派生到內(nèi)部聚合成員上面去。具體功能的Item將包含在ListCanvas之中,每一個Item擁有顯示在屏幕上的ShortItem,顯示在detail screen中的LongText,還有不被顯示的ExtraText,當(dāng)然其信息我們也是可以得到的。在ListCanvas中,我們可以用“右鍵”顯示Item的詳細(xì)信息,也可以用SELECT鍵來標(biāo)記每個Item。

·ItemListCanvas類:

ItemListCanvas同樣繼承了vCanvas類,實現(xiàn)了多條目文本瀏覽的功能,構(gòu)造方法的輸入依次為Display、Displayable、Font、Title和ItemVector。將多條String構(gòu)造為一個Vector傳遞給ItemListCanvas后,該類能夠提供一個多條目文本實現(xiàn)的用戶界面。本系統(tǒng)的“關(guān)于本系統(tǒng)”子功能就是通過實例化該類得到的。

結(jié)論

本系統(tǒng)采用Freescale的單片機MC9S08QG和MMA7260Q實現(xiàn)了便攜式手持設(shè)備的控制,并采用了開放的J2ME平臺實現(xiàn)了終端應(yīng)用程序。系統(tǒng)完整,實用性強,成本低廉,在滿足用戶基本操作需要的同時,增加了移動設(shè)備操作的趣味性和靈活性。同時,MMA7260Q較小的體積和獨特的節(jié)電模式更使其在移動設(shè)備的應(yīng)用中有著極大的優(yōu)勢??梢灶A(yù)見,在未來的手持設(shè)備系統(tǒng)中會大量采用類似的功能,因此具有廣闊的市場應(yīng)用前景。

傳感器相關(guān)文章:傳感器工作原理


風(fēng)速傳感器相關(guān)文章:風(fēng)速傳感器原理
蜂鳴器相關(guān)文章:蜂鳴器原理
加速度計相關(guān)文章:加速度計原理

上一頁 1 2 3 4 下一頁

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉