<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          關(guān) 閉

          新聞中心

          EEPW首頁(yè) > 工控自動(dòng)化 > 設(shè)計(jì)應(yīng)用 > 用加速度傳感器來(lái)進(jìn)行手勢(shì)識(shí)別器的設(shè)計(jì)

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

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

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

          根據(jù)type_action的值,在手機(jī)界面上產(chǎn)生相應(yīng)的動(dòng)作,手機(jī)界面發(fā)送不同的變化。演示終端的具體實(shí)現(xiàn)在下面的內(nèi)容詳細(xì)介紹。

          硬件描述

          系統(tǒng)硬件分為兩個(gè)部分:CT-298和MM-2860。

          CT-298是由MC9S08QG單片機(jī)構(gòu)成、由USB總線電源供電的小型評(píng)估板。CT-298上安裝有按鈕開(kāi)關(guān)、LED燈、蜂鳴器等作為開(kāi)發(fā)的輸入輸出器件。同時(shí),USB-COM轉(zhuǎn)換電路采用了FTDI公司制造的FT232R,容許單片機(jī)與電腦之間通過(guò)USB接口串行通信。BDM用于代碼的燒寫及系統(tǒng)的調(diào)試。

          MM-2860是含有Freescale公司制造的MMA7260Q型三軸小量程的模塊,它可以直接安裝在CT-298為其的插口上。MM-2860的電源是由CT-298上的MC9S08QG8單片機(jī)的PTB5端口來(lái)控制的,當(dāng)PTB5端口為L(zhǎng)時(shí)電源接通。此外,g-SELECT開(kāi)關(guān)是選擇靈敏度的開(kāi)關(guān),使用時(shí)將MM-2860插入到CT-298的接口中即可。本系統(tǒng)采用的靈敏度選擇為800 mV/g。

          軟件描述

          單片機(jī)主程序的流程如圖7所示。

          系統(tǒng)上電后,首先要對(duì)單片機(jī)的硬件系統(tǒng)初始化、配置寄存器等操作,之后才可以數(shù)據(jù)采集,將的值進(jìn)行A/D轉(zhuǎn)換,得到量化的值。圖片菜單是二級(jí)菜單,如果沒(méi)有接到演示系統(tǒng)傳給單片機(jī)進(jìn)入二級(jí)菜單的指令,則單片機(jī)一直在主程序運(yùn)行,不斷地采集A/D值、進(jìn)行動(dòng)作判定,并向演示系統(tǒng)發(fā)送type_action的指令。演示系統(tǒng)可根據(jù)接收到的type_action的類型采取相應(yīng)的動(dòng)作。如果單片機(jī)接收到進(jìn)入二級(jí)菜單的命令,則進(jìn)入圖片菜單,同時(shí)也執(zhí)行類似于主程序的動(dòng)作判定程序,并不斷更新A/D采樣值,發(fā)送type_action,直到接收到退出二級(jí)菜單指令才退出。下面詳細(xì)介紹一下各個(gè)功能模塊的具體設(shè)置。

          單片機(jī)硬件初始化

          單片機(jī)系統(tǒng)主要的工作有:將加速度傳感器的模擬數(shù)據(jù)進(jìn)行A/D轉(zhuǎn)換、向演示系統(tǒng)發(fā)送type_action的動(dòng)作類型、接收演示系統(tǒng)發(fā)來(lái)的進(jìn)出二級(jí)菜單的指令、設(shè)置采樣值,除此之外還需要對(duì)系統(tǒng)時(shí)鐘、外部設(shè)備(燈,buzzer)進(jìn)行配置。根據(jù)單片機(jī)的主要工作內(nèi)容選擇單片機(jī)內(nèi)部的功能設(shè)備,包括A/D轉(zhuǎn)換器、模定時(shí)器、串行通信模塊(SCI)、內(nèi)部時(shí)鐘源模塊。

          數(shù)據(jù)采集

          系統(tǒng)設(shè)置的采樣頻率為200Hz,每秒鐘分別對(duì)X、Y、Z 三軸采樣200個(gè)數(shù)據(jù),因此定義了三個(gè)大小為N的數(shù)組對(duì)數(shù)據(jù)進(jìn)行緩存,他們是:

          char x_data[N];

          char y_data[N];

          char z_data[N];

          這里N取50,每0.25s存取一次,1s鐘可以存取4次,保證采樣率為200。函數(shù)void acce_meas(void) 負(fù)責(zé)將采樣的數(shù)據(jù)分別放到這三個(gè)數(shù)組中,下面是程序的具體實(shí)現(xiàn):

          for(j=0;j

          {

          for(i=0;i3;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(); //延時(shí)函數(shù),用來(lái)設(shè)定采樣率

          }

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


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


          評(píng)論


          相關(guān)推薦

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

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();