基于SEP4O2O微處理器的動作控制MP3的設(shè)計
圖l是手持部分的原理圖,包括單片機(jī)和傳感器PTA0、PTAl、PTA2:輸入:分別接三向加速度傳感器的x、y、z端口輸出,讀取加速度傳
感器的x、y、z軸的模擬數(shù)據(jù)。本文引用地址:http://m.butianyuan.cn/article/166741.htm
PTA3:輸出;接三向加速度傳感器的Sleep引腳用于使傳感器處于休眠狀態(tài)從而降低功耗和鎖定,避免運動時的干擾。
PTTB0:輸入;作為串口接收腳用于接收從核心板傳來的命令。
PTFBl:輸出;作為串口發(fā)送腳用于向核心板發(fā)送由加速度傳感器所測的經(jīng)過單片機(jī)處理后所得到的動作信息。
PTB6、PTB7:輸出;接加速度傳感器的gselect引腳從而控制加速度傳感器的靈敏度。
2.2 動作判斷
利用Freescale公司的FreeMASTER軟件,可以很方便地進(jìn)行程序在線調(diào)試,查看程序所有全局變量,具體軟件和使用方法請查詢Frees-cfle管方網(wǎng)站。以下得到的數(shù)據(jù)為使用FreeMASTER欺件,以時間和AD轉(zhuǎn)換值為坐標(biāo)繪圖得到。
每次每個方向采樣20個數(shù)據(jù),由于第一個數(shù)據(jù)的可靠性比較大,所以采用每組數(shù)據(jù)的第一個數(shù)據(jù)作為比較依據(jù)。經(jīng)過多次測試,當(dāng)x方向的數(shù)值小于80時為右轉(zhuǎn)動作,x的方向的數(shù)值大于170時為左轉(zhuǎn)動作,y方向的數(shù)值小于70時為向上抬的動作,y方向的數(shù)值大于160時為向下壓的動作。雖然以上數(shù)據(jù)能表示動作,但人的動作時間相對單片機(jī)處理分析速度差別還是太大。為了解決這個問題,使單片機(jī)和動作同步,可以把前兩次的動作記錄下來,根據(jù)前兩次的動作對當(dāng)前動作進(jìn)行過濾:如果連續(xù)幾個相同的動作,就判斷為一次動作,不相同則切換。動作的切換必然帶有前后動作的變化,記憶之前的動作就可以判斷出有無動作切換。這樣的動作識別方法比較簡單且容易實現(xiàn),如果要實現(xiàn)更為精確的識別,則需要對算法進(jìn)一步優(yōu)化。圖2為右搖時AD轉(zhuǎn)換器所得到的結(jié)果。圖3為前后左右擺動數(shù)據(jù)。
在判別動作后,通過串口通信協(xié)議,發(fā)送雙辦約定的動作ID,具體見表l
通過串口協(xié)議,核心板也可以對傳感器和單片機(jī)進(jìn)行一定的控制,包括傳感器靈敏度調(diào)節(jié),鎖定休眠功能,使得后期的測試開發(fā)更加的方便。
評論