久久ER99热精品一区二区-久久精品99国产精品日本-久久精品免费一区二区三区-久久综合九色综合欧美狠狠

關 閉

新聞中心

EEPW首頁 > 工控自動化 > 設計應用 > 用加速度傳感器來進行手勢識別器的設計

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

作者: 時間:2012-12-21 來源:網絡 收藏

仿真器的外觀和操作類似一部移動電話,但是并不代表某個特定的設備,而是提供對其所支持的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

{

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(); //延時函數,用來設定采樣率

}

傳感器相關文章:傳感器工作原理


風速傳感器相關文章:風速傳感器原理
蜂鳴器相關文章:蜂鳴器原理
加速度計相關文章:加速度計原理


評論


相關推薦

技術專區

關閉