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