国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于三軸加速計的三維鼠標設(shè)計探索

2013-08-21 03:32李佰財寧偉勛
計算機光盤軟件與應(yīng)用 2013年9期

李佰財 寧偉勛

(國防科學(xué)技術(shù)大學(xué) 計算機學(xué)院,長沙 410073)

摘 要:計算機應(yīng)用領(lǐng)域的擴大,應(yīng)用需求的種類增多,對計算機的輸入也提出了更高的要求。在二維平面運動的傳統(tǒng)鼠標已經(jīng)不能滿足更高的人機交互需求,文中基于三軸加速度計ADXL345和Cortex-M0處理器,對三維鼠標的設(shè)計進行了探索。通過加速度計ADXL345完成X、Y、Z方向的數(shù)據(jù)采集,使用I2C將數(shù)據(jù)傳輸給Cortex-M0處理器;處理器對數(shù)據(jù)加工處理后,使用UART將動作的偏移量傳輸給PC機;根據(jù)三維方向的偏移量實現(xiàn)鼠標的三維控制。

關(guān)鍵詞:三軸加速計;ADXL345;Cortex-M0;三維鼠標

中圖分類號:TP391.41 文獻標識碼:A 文章編號:1007-9599 (2013) 09-0000-02

1 引言

從“圖靈獎”獲得者道格拉斯.恩格爾巴特(Douglas Englebart)1968年12月在IEEE會議上展示了世界上的第一個鼠標開始,多年來,從早期的機械鼠標到現(xiàn)在的光學(xué)鼠標,鼠標在形狀、性能及工作原理上都有了巨大的變化。鼠標的使用代替了鍵盤繁瑣的指令,使計算機的操作更加簡便,鼠標也成為了計算機的重要輸入設(shè)備。隨著計算機三維動畫圖形技術(shù)的發(fā)展、三維游戲的出現(xiàn),二維鼠標在三維視覺空間的使用越來越不方便。雖然鼠標上增加一個滾輪,在某些應(yīng)用中實現(xiàn)了三維控制,但是在二維空間的操作不能滿足人們?nèi)S人機交互帶來的身臨其境的舒適體驗。因此,三維鼠標的研究和設(shè)計及其在虛擬三維現(xiàn)實中的應(yīng)用將是一個熱門課題。

2 系統(tǒng)總體設(shè)計框架

系統(tǒng)設(shè)計過程分為硬件設(shè)計和軟件設(shè)計兩部分。硬件設(shè)計部分:首先根據(jù)三軸加速度計設(shè)計一個三維數(shù)據(jù)采集電路,采集X、Y、Z方向的加速度信號;其次,設(shè)計數(shù)據(jù)處理、存儲電路,將加速度計傳輸過來的數(shù)據(jù)進行相應(yīng)處理,得到X、Y、Z方向的數(shù)據(jù)偏移量。軟件設(shè)計部分:首先設(shè)計數(shù)據(jù)處理過程,將三軸加速度計傳輸?shù)教幚砥髦械脑紨?shù)據(jù)進行存儲、數(shù)據(jù)格式轉(zhuǎn)換、數(shù)據(jù)處理;其次,設(shè)計三軸加速度計與處理器之間I2C接口驅(qū)動和處理器與PC機間的UART串口驅(qū)動。如圖1是系統(tǒng)整體結(jié)構(gòu)框圖。

圖1 三維鼠標設(shè)計結(jié)構(gòu)框圖

3 硬件設(shè)計方案

加速度數(shù)據(jù)采集電路主要由三軸加速度計ADXL345來實現(xiàn)。ADXL345是美國模擬器件公司于推出的MEMS技術(shù)具有SPI和I2C數(shù)字輸出功能的三軸加速度計,具有小巧輕薄、超低功耗、可變量程、分辨率高等特點,測量范圍達±16g,數(shù)字輸出數(shù)據(jù)為16位二進制補碼格式,集成了32級FIFO緩存器。加速度數(shù)據(jù)采集電路加3.3V電壓供電,通訊方式用I2C接口。

處理器電路主要由Cortex-M0處理器來實現(xiàn)。Cortex-M0處理器是市場上現(xiàn)有的最小、能耗最低、最節(jié)能的ARM處理器。該處理能耗非常低、門數(shù)量少、代碼占用空間小,使得MCU開發(fā)人員能夠以8位處理器的價位,獲得32位處理器的性能。Cortex-M0處理器對三軸加速度計采集的數(shù)據(jù)進行處理、存儲,得出加速度計在三個方向上的偏移量,并通過串口發(fā)送給PC機。

圖2 硬件實際連接圖

4 軟件設(shè)計方案

三軸加速度計與處理器之間的通訊采用I2C接口模式。I2C(Inter-Integrated Circuit)總線是PHILIPS半導(dǎo)體公司設(shè)計出來的串行數(shù)據(jù)傳輸總線規(guī)范,一般有兩根信號線:一要是雙向的數(shù)據(jù)線SDA,另一根是時鐘線SCL。兩個線即可實驗全雙工數(shù)據(jù)傳輸。將ADXL345的/cs片選信號接高電平時,其工作在I2C通訊模式,與處理器的連接電路如圖3所示。

圖3 I2C總線連接電路

對接口的設(shè)置和數(shù)據(jù)的處理,使用Keil uVision4軟件編寫生成,并通過Flashmagic軟件燒寫進芯片中。

圖4 三軸加速計數(shù)據(jù)采集流程圖 圖5 鼠標驅(qū)動流程圖

上位機通過鼠標驅(qū)動程序,利用X方向偏移量控制光標左右移動、Y方向偏移量控制光標上下移動、Z軸方向偏移量來實現(xiàn)鼠標放大縮小功能。通過X、Y、Z的綜合定義實現(xiàn)三維方向移動的功能。驅(qū)動軟件流程如圖5所示。

判斷鼠標的偏移量是通過計算傳感器給出的加速度得出的,鼠標正常使用過程中的加速度數(shù)值為:

X方向運動時:X軸的加速度值區(qū)間為-12g—12g,Y軸的加速度值區(qū)間為-1g—1g,Z軸的加速度值區(qū)間為-1g—1g;

Y方向運動時:X軸的加速度值區(qū)間為-1g—1g,Y軸的加速度值區(qū)間為-12g—12g,Z軸的加速度值區(qū)間為-1g—1g;

Z方向運動時:X軸的加速度值區(qū)間為-1g—1g,Y軸的加速度值區(qū)間為-1g—1g,Z軸的加速度值區(qū)間為-12g—12g。

加速度值經(jīng)過處理后傳輸給PC機的三維方向數(shù)據(jù)偏移量如圖6.

圖6 三軸加速計運動時各方向加速值偏移量

在PC機端,使用環(huán)境為Windows操作系統(tǒng)。PC機通過USB模擬的串口通道接收三個方向上的偏移量,采用Microsoft Visual C++6.0作為開發(fā)工具,編寫驅(qū)動程序,根據(jù)三個方向的偏移量控制實現(xiàn)三維鼠標的功能。

5 結(jié)束語

通過ADXL345采集三軸加速度數(shù)值,通過Cortex-M0計算加速度數(shù)值并獲取偏移量,通過串口將所獲取的偏移量傳給電腦,實現(xiàn)控制鼠標光標的移動和其他的一些必要功能。三維空間的拓展開發(fā)離不開鼠標這個經(jīng)典人機交互設(shè)備的三維化,隨著模擬空間的三維化,鼠標的需求還會進一步體現(xiàn),但三軸加速計的天然三維性質(zhì)使得它成為三維鼠標核心的首選器件,隨著需求的出現(xiàn),其功能也會進一步得到挖掘。

參考文獻:

[1]賈珠紅,張曉東.基于IIC的單主多從單片機之間的通信[J].微計算機信息,2009,25(3-2):101.

[2]林鄧偉,邢文生.光電鼠標芯片組在無接觸檢測運動物體中的應(yīng)用[J].微計算機信息,2006,22(7-2).

[3]王卓柱,周皓,等.基于鼠標芯片1P8452的方向角傳感器設(shè)計[J].計算機測量與控制,2007,15(6):834-836.

[4]Doug A.Bowman著. 張風(fēng)軍,紀連恩譯.三維用戶界面:理論與實踐[M].電子工業(yè)出版社,2006.

[5]袁西,陳棟,田湘,呂晶.三軸數(shù)字加速度計ADXL345及其在捷聯(lián)慣導(dǎo)中的應(yīng)用[J].電子設(shè)計工程,3(18).

[6]王富東,陳蕾.微機原理與接口技術(shù)[M].蘇州大學(xué)出版社.

奉化市| 灯塔市| 中江县| 汉阴县| 佛冈县| 黑龙江省| 石首市| 阜康市| 德保县| 泽普县| 图们市| 英德市| 镇雄县| 鄯善县| 大厂| 铁岭县| 时尚| 库尔勒市| 井陉县| 郯城县| 永安市| 乌审旗| 长阳| 花垣县| 新河县| 拜城县| 宁津县| 吴堡县| 东安县| 天台县| 南平市| 军事| 滕州市| 满城县| 永丰县| 盐源县| 子长县| 萝北县| 铜陵市| 闻喜县| 安国市|