在线免费观看成年人视频-在线免费观看国产-在线免费观看国产精品-在线免费观看黄网站-在线免费观看精品

產品分類

當前位置: 首頁 > 傳感測量產品 > 工業傳感器 > 加速度傳感器

類型分類:
科普知識
數據分類:
加速度傳感器

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

發布日期:2022-10-09 點擊率:56

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

  

  

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

  


  CT-298單片機控制部分主要負責傳感器數據的A/D變換、動作檢測、與演示終端進行數據通信。MM-2860加速度傳感器部分負責加速度值的測量并將其轉換為電壓值。演示終端負責處理從單片機傳來的動作類型并執行相應的動作,同時向單片機返回進出二級菜單的指令。對于CT-298單片機系統更詳細的設計將在下面的部分介紹,這里首先介紹一下本系統設計的動作姿勢及代碼,以及與演示系統交互的指令。
  預定義的動作
  系統設計了六種動作,他們分別是左搖、右搖、下搖、上搖、圖片左轉、圖片右轉。圖4中的圖形象地說明了其中的兩個動作,其它的動作與此類似。

  

  
  系統還為每個動作定義了相應的動作代碼,見表1。

  
  當單片機檢測到某個動作時會將相應的值賦給變量type_action,之后通過SCI將type_action的值發送到演示終端。如果用戶執行的動作不在這六個動作之中,則將NO_ACTION賦給type_action,表示演示終端不執行任何動作。
  系統還定義了單片機與演示終端交互的指令,用于系統在主菜單和二級菜單之間的界面切換,指令從演示系統通過SCI傳給單片機,單片機接收到之后進入或退出二級菜單,見表2。

  


  這里僅定義了一個二級菜單,即圖片菜單,系統還可以定義更多的二級菜單和三級菜單。此外,需要說明動作MOVE_TURN_LEFT、MOVE_TURN_RIGHT用于圖片翻轉,僅在圖片菜單中可用,在主菜單不可用。動作下搖執行的是換下一幅圖片,動作上搖執行的是退出圖片菜單。
  演示終端
  本系統目標定位在便攜式消費類電子產品上,因此在軟件應用程序上必須選擇具有廣泛基礎的應用平臺。由于近年來J2ME在便攜式終端中的應用非常廣泛,因此本系統也采用了J2ME平臺進行開發。通過比較,選擇了J2ME的WTK開發包,它是專門針對移動無線設備而設計的開發包,并提供了一個統一的平臺。在WTK的框架下開發出來的java程序可以被眾多的移動設備所支持,所以能夠有效解決兼容性的問題。
  在WTK下我們利用默認的一個手機樣機的仿真器DefaultColorPhone進行開發,DefaultColorPhone的樣子如圖6。

  


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

  


  根據type_action的值,在手機界面上產生相應的動作,手機界面發送不同的變化。演示終端的具體實現在下面的內容詳細介紹。
  硬件描述
  系統硬件分為兩個部分:CT-298和MM-2860。
  CT-298是由MC9S08QG單片機構成、由USB總線電源供電的小型評估板。CT-298上安裝有按鈕開關、LED燈、蜂鳴器等作為開發的輸入輸出器件。同時,USB-COM轉換電路采用了FTDI公司制造的FT232R,容許單片機與電腦之間通過USB接口進行串行通信。BDM用于代碼的燒寫及系統的調試。
  MM-2860是含有Freescale公司制造的MMA7260Q型三軸小量程加速度傳感器的模塊,它可以直接安裝在CT-298為其設計的插口上。MM-2860的電源是由CT-298上的MC9S08QG8單片機的PTB5端口來控制的,當PTB5端口為L時電源接通。此外,g-SELECT開關是選擇傳感器靈敏度的開關,使用時將MM-2860插入到CT-298的接口中即可。本系統采用加速度傳感器的靈敏度選擇為800 mV/g。
  軟件描述
  單片機主程序的流程如圖7所示。

  
  系統上電后,首先要對單片機的硬件系統進行初始化、配置寄存器等操作,之后才可以進行數據采集,將加速度的值進行A/D轉換,得到量化的值。圖片菜單是二級菜單,如果沒有接到演示系統傳給單片機進入二級菜單的指令,則單片機一直在主程序運行,不斷地采集A/D值、進行動作判定,并向演示系統發送type_action的指令。演示系統可根據接收到的type_action的類型采取相應的動作。如果單片機接收到進入二級菜單的命令,則進入圖片菜單,同時也執行類似于主程序的動作判定程序,并不斷更新A/D采樣值,發送type_action,直到接收到退出二級菜單指令才退出。下面詳細介紹一下各個功能模塊的具體設置。
  單片機硬件初始化
  單片機系統主要的工作有:將加速度傳感器的模擬數據進行A/D轉換、向演示系統發送type_action的動作類型、接收演示系統發來的進出二級菜單的指令、設置采樣值,除此之外還需要對系統時鐘、外部設備(燈,buzzer)進行配置。根據單片機的主要工作內容選擇單片機內部的功能設備,包括A/D轉換器、模定時器、串行通信模塊(SCI)、內部時鐘源模塊。
  數據采集
  系統設置的采樣頻率為200Hz,每秒鐘分別對X、Y、Z 三軸采樣200個數據,因此定義了三個大小為N的數組對數據進行緩存,他們是:
  char x_data[N];
  char y_data[N];
  char z_data[N];
  這里N取50,每0.25s存取一次,1s鐘可以存取4次,保證采樣率為200。函數void acce_meas(void) 負責將采樣的數據分別放到這三個數組中,下面是程序的具體實現:
  for(j=0;j<N;j++) //采集N個數據
  {
  for(i=0;i<3;i++)
  {
  if(i==0)
  {
  adc_go(0); //選擇A/D信道0
  x_data[j]= ADC_val_L; //X軸
  }
  else if(i==1 )
  {
  adc_go(6); //選擇A/D信道6
  y_data[j]= ADC_val_L; //Y軸
  }
  else
  {
  adc_go(7); //選擇A/D信道7
  z_data[j]= ADC_val_L; //Z軸
  }
  }
  delay(); //延時函數,用來設定采樣率
  }
  動作檢測
  動作檢測主要是用獲得的三組數據值x_data[N]、y_data[N]、z_data[N]來判定當前動作是系統設定動作中的哪一個,如果符合,則發送這個動作對應的預定義值給演示終端,否則發送NO_ACTION。type_dectction()用來實現動作檢測,其中type_move為函數內部變量,用于記錄動作代碼。type_dectction()進行動作檢測的流程如圖8所示。

  


  演示終端
  J2ME平臺開發環境配置
  進行J2ME的開發需要從網絡上下載免費的開發環境。運行Eclipse后進行最后的配置:Window->preferences->J2ME->Platform Component然后右鍵選擇 Wireless Toolkil,再選擇彈出菜單中的 Add Wireless Toolkil,選擇剛剛安裝的J2ME Toolkit的安裝路徑: C:WTK22,這樣基本配置就完成了。
  J2ME的WTK開發包是專門針對移動無線設備而設計的開發包,并提供了一個統一的平臺。在WTK的框架下開發出來的java程序可以被眾多的移動設備所支持,能夠有效解決兼容性的問題。
  軟件應用程序
  程序分為主進程、串口監視模塊和定制化用戶界面三大部分,分別基于J2ME不同的類庫派生而成,三部分之間通過消息機制相互聯系,共同構成整個程序的運行周期。具體每個模塊所實現的功能參考下節內容。
  軟件應用程序的組織結構
  本軟件應用程序在WTK的手機仿真器下進行設計,分為Base和display兩個package。在Base Package中包含MainRoutine.java和RS232Port.java兩個java文件;在display Package中的文件較多,主要實現了UI和基本的key響應。下面介紹軟件部分的實現方法:
  ·MainRoutine類
  MainRoutine為程序的入口類,它整合了程序中的所有的對象。MainRoutine派生于MIDlet類,重載實現了MIDlet中的startApp、pauseApp、destroyApp等方法,并且在constructor中加入了exitCommand命令,從而實現了手機的關機功能。
  可以看出MainRoutine實現了程序的入口和退出,并同時標志了程序的基本框架,給具體的功能應用打下了堅實的基礎。
  ·vCanvas類
  vCanvas繼承了Canvas類,并增加了externalMsg方法。之所以在其中增加externalMsg方法,是因為其超類Canvas不能動態地響應key,而我們對Canvas的要求是能夠通過對串口導入的數據(或按鍵)得到的keyCode做出相應的動作,比如圖片的翻轉、文本的滾動等等。于是,我們可以通過vCanvas派生出一系列的子類,實現我們的具體要求,為將來的開發提供了方便。
  ·DisplayItem類
  DisplayItem是基礎類,提供了通用的string數據組合。該類的構造方法中需要輸入shortText、longText和extra三個string參數,這樣就保證了每個DisplayItem都可以返回三個不同長度的文本信息,在不同的場合使用。其中shortText用于UI中的標題顯示,longText為Item的主體內容,extra為Item的附加信息。 DisplayItem類在本系統中會被例化來描述菜單和子功能的內容,是應用廣泛的一個基礎類。
  ·ImageCanvas類
  ImageCanvas同樣繼承于基礎類vCanvas,它的主要功能是實現了對圖片的瀏覽及旋轉、鏡像等基本操作。
  考慮到目前使用手機瀏覽圖片、拍攝圖片的多方向性,如果能夠通過加速度傳感器自動校正圖片的方向,使它自動滿足我們想要的方向,那么我們就免除了很多不必要的麻煩。于是我們對圖片的瀏覽功能模塊增加了向左或者向右旋轉90°的功能。這樣用戶就會驚喜地發現無論他的手機怎樣擺放,顯示的圖片將永遠保持與地面垂直。
  ·ListCanvas類
  ListCanvas提供了主畫面的顯示能力,并將用戶操作派生到內部聚合成員上面去。具體功能的Item將包含在ListCanvas之中,每一個Item擁有顯示在屏幕上的ShortItem,顯示在detail screen中的LongText,還有不被顯示的ExtraText,當然其信息我們也是可以得到的。在ListCanvas中,我們可以用“右鍵”顯示Item的詳細信息,也可以用SELECT鍵來標記每個Item。
  ·ItemListCanvas類:
  ItemListCanvas同樣繼承了vCanvas類,實現了多條目文本瀏覽的功能,構造方法的輸入依次為Display、Displayable、Font、Title和ItemVector。將多條String構造為一個Vector傳遞給ItemListCanvas后,該類能夠提供一個多條目文本實現的用戶界面。本系統的“關于本系統”子功能就是通過實例化該類得到的。
  結論
  本系統采用Freescale的單片機MC9S08QG和加速度傳感器MMA7260Q實現了便攜式手持設備的手勢控制,并采用了開放的J2ME平臺實現了終端應用程序。系統完整,實用性強,成本低廉,在滿足用戶基本操作需要的同時,增加了移動設備操作的趣味性和靈活性。同時,加速度傳感器MMA7260Q較小的體積和獨特的節電模式更使其在移動設備的應用中有著極大的優勢。可以預見,在未來的手持設備系統中會大量采用類似的手勢識別功能,因此具有廣闊的市場應用前景。

  

下一篇: PLC、DCS、FCS三大控

上一篇: 數字質量厚度傳感器溫

推薦產品

更多
亚洲精品乱码久久久久久V| 无码人妻一区二区三区在线| 同性男男黄网站在线观看国外 | 老师含紧一点H边做边走视频动漫| 乱中年女人伦AV三区| 人妻少妇无码中文幕久久| 无码 制服 丝袜 国产 另类| 亚洲日本中文字幕乱码在线电影| 69成人免费视频无码专区| 国产99久久久国产精品~~牛 | 亚洲精品亚洲人成人网| 91精品人妻一区二区三区蜜蜜挑| 对白脏话肉麻粗话AⅤ| 精品久久久久久久久久久AⅤ | 成年女人18毛片毛片免费不卡| 国产精品麻豆欧美日韩WW| 久久伊人精品青青草原APP| 日本中文字幕一区二区有码在线 | H无遮挡H无码黄3D漫画| 国产精品久久久久精品麻豆| 看全色黄大色黄大片 视频 | 吃了继兄开的药我做的梦更| 国精产品一区一区三区| 欧美Z0ZO人禽交| 小荡货奶真大水真多紧视频| 中文在线官网在线| 国产成人夜色高潮福利影视| 噜噜狠狠色综合久色A站网址| 色综合天天综合欧美综合| 亚洲久热无码AV中文字幕| 锕锕锕锕锕锕~好深啊APP下载| 国产最大成人亚洲精品| 欧美人与动牲交免费观看视频| 西西大胆无码视频免费| 99精产国品一二三产区区别电影| 国产精品拍天天在线| 免费观看的AV毛片的网站| 天天躁夜夜躁狠狠躁2021| 自拍亚洲综合在线精品| 国产婷婷丁香五月缴情成人网 | 久久99九九精品久久久久蜜桃| 日本熟妇色熟妇在线视频播放 | 丰满少妇被猛烈进AV毛片| 久久精品动漫一区二区三区| 色综合久久久无码中文字幕波多 | 久久综合综合久久综合| 无码国产69精品久久久孕妇| 99精产国品一二三产区区别电影| 国内精品久久久久影院一蜜桃| 人妻AV中文系列| 亚洲熟女丰满多毛XXXXX| 高清性色生活片97| 免费无码AV电影在线观看| 亚洲AⅤ精品无码一区二区PRO| А√天堂资源中文在线官网| 精品无人区麻豆乱码1区2区| 少妇粉嫩小泬喷水视频在线观看| 中文天堂在线最新版在线WWW| 国产肉体XXXX裸体137大胆| 青青青国产精品一区二区| 亚洲综合精品伊人久久| 国产久9视频这里只有精品| 秋霞免费理论片在线观看| 亚洲色无码国产精品网站可下载| 国产AV无码专区亚洲AⅤ蜜芽| 女人与牛ZOZO| 亚洲伊人久久综合成人网站| 国产人与ZOXXXX另类| 日本中文字幕乱码免费| 98久9在线 | 免费| 久久久久国产精品| 性做久久久久久免费观看| 敌伦交换第11部分给了| 女班长给我看她小积积作文| 亚洲人成影院在线无码按摩店| 国产精品无码翘臀在线观看| 日本老熟妇VIDEO| 2012电影在线观看神马影院| 久精品国产欧美亚洲色AⅤ大片| 无码熟妇人妻AV在线网站| 成人黄网站片免费视频| 欧美人伦禁忌DVD放荡欲情| 一边摸一边吃奶一边做爽| 韩漫无遮漫画全集观看| 无码日韩人妻精品久久| 粉嫩AV无码一区二区三区| 秋霞午夜无码鲁丝片午夜| 中文无码字幕中文有码字幕| 久久精品国产精品亚洲精品 | 2023国精产品一二二线免费| 久久久久久精品免费无码无| 亚洲国产精品VA在线观看香蕉| 国产精品无码久久久久| 私密按摩高潮熟女啪啪| 成人无码一区二区三区| 人人人爽人人澡人人高潮| BBW厕所白嫩BBW| 女警察受呻吟双腿大开H| 中文在线中文在A| 老师趴讲台屁股撅起来作文 | 久久丫精品国产亚洲AV| 亚洲精品无码成人片久久| 国产真人无遮挡作爱免费视频| 玩弄丰满熟妇XXXXX性HD| 公车掀起老师裙子进入在线| 日韩一卡2卡3卡4卡| 成人国产精品一区二区网站免费| 侵犯美人妻中出中文字幕| BBBBBB嫩BBBBBB| 欧美一级 片内射黑人| av资源在线观看少妇| 欧美精品99久久久啪啪| 99久在线国内在线播放免费观看| 年轻漂亮岳每4乱理2 | 亚洲精品偷拍无码不卡AV| 激情人妻另类人妻伦| 亚洲高清中文字幕在线看不卡| 黑料不打烊吃瓜爆料| 亚洲韩国精品无码一区二区| 精品国产福利在线观看| 亚洲国产欧美在线综合| 精品人无码一区二区三区| 亚洲人成无码网站18禁10| 久久久久久久99精品免费观看 | 丰满人妻熟妇乱又伦精品APP| 三个人一起玩3Q详细经过| 公侵犯玩弄熟睡人妻电影| 挽起裙子跨开双腿坐下去软件| 国产精品亚洲LV粉色| 亚洲AV成人精品一区二区三区 | 欧美日韩人妻精品| 凹凸人妻人人澡人人添| 日韩精品无码一区二区视频| 国产99在线 | 欧美| 午夜麻豆国产精品无码| 韩国免费A级毛片| 亚洲性无码AV中文字幕| 麻豆一二三区AV精品传媒| AV鲁丝一区鲁丝二区鲁丝四| 人妻少妇不满足中文字幕| 丰满人妻被黑人猛烈进入| 无码精品久久久久久人妻中字 | 女朋友喊疼男生的心理活动知乎| WWWXXX国产| 撕掉她的衣服吮的双乳游戏 | 国产成人片无码视频在线观看| 无码人妻久久一区二区三区免费丨 | 没有被爱过的女人| CEKC老妇女CEA0| 上面一个摸下面一个手念什么| 国产精品亚洲VA在线| 亚洲日本一线产区二线产区| 公的大龟慢慢挺进我的体内| 亚拍精品一区二区三区探花 | 亚洲美女高潮久久久久| 美国一面亲上边一面膜下边| 把腿张开老子CAO烂你| 玩弄三个高大的熟妇| 皇上H小妖精把腿张开| 中文毛片无遮挡高潮免费 | 国产成人精品一区二区三区无码 | 日韩系列 无码迅雷| 国产日产欧洲无码视频| 夜夜天天噜狠狠爱2019| 人妻少妇 少妇人妻第一页| 国产精品无码一区二区三区不卡| 亚洲另类在线视频| 女人18片毛片免费| 国产成人无码免费看片软件| 亚洲男人第一无码AV网| 欧美老熟妇手机在线观看| 国产福利一区二区久久| 亚洲午夜福利AV一区二区无码| 欧美群交XXXCOM| 国产精品毛片AV一区二区三区| 亚洲色在线无码国产精品不卡| 欧美一区二区三区成人片在线| 国产刺激男女视频在线| 亚洲综合成人婷婷五月网址| 日韩免费无码人妻波多野| 激情偷乱人伦小说视频最新章节| 51国产偷自视频区视频| 我和闺蜜在KTV被八人伦| 久久久久人妻精品一区蜜桃| 波多野结衣迅雷种子| 亚洲国产精品久久久久久久蜜桃| 欧美大胆老熟妇乱子伦视频| 国产精品一亚洲AV日韩AV欧 | 欧美最猛黑人XXXX黑人猛交| 国产农村妇女毛片精品久久| 2022色婷婷综合久久久| 无码无套少妇毛多69XXX| 蜜桃AV噜噜一区二区三区| 国产成人无码精品久久久露脸| 伊人久久大香线蕉AV网| 视频在线一区二区三区| 老汉扛起娇妻玉腿进入| 国产妓女牲交A毛片| 18禁黄网站男男禁片免费观看| 无码一区二区三区|