《基于USBD12和加速度計的空中鍵鼠》由會員分享,可在線閱讀,更多相關(guān)《基于USBD12和加速度計的空中鍵鼠(3頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、基于USBD12和加速度計的空中鍵鼠
摘要:設計基于USBD12和加速度計的空中鍵鼠,通過手勢在空中的動作便可控制鼠標的移動。設計的研發(fā)調(diào)試過程中,采用了加速度傳感器數(shù)據(jù)采集、USB設備gadget層HID設備、LCD?NOKIA5110顯示、AVR單片機熔絲位的配置、藍牙模塊、手勢動作識別算法、菜單與UI界面等模塊的軟、硬件調(diào)試,接收端有一個USB口,插入PC后被識別為一個標準HID人體學輸入設備,無須驅(qū)動,即插即用。用戶的操作到達可動態(tài)交互的目的。采用動作手勢識別算法,藍牙模塊等實現(xiàn)了通過手勢在空中的動作便可控制鼠標的移動,通過按鍵進行對鍵盤的操作,并且不需要連接線,通過藍牙與插在電腦
2、上的接收端相連接通信,到達動態(tài)交互的目的。關(guān)鍵詞:藍牙;USB;免驅(qū)動;鍵鼠中圖分類號:TN99?34;TN46文獻標識碼:A文章編號:1004?373X〔2021〕18?0101?03AirmouseandkeyboardcombopackbasedonUSBD12andaccelerometerZOUJiang〔SchoolofPhysicsandElectronicScience,ZunyiNormalUniversity,Zunyi563006,China〕Abstract:AnairmouseandkeyboardcombopackbasedonUSBD12andaccelerome
3、terwasdesigned,whichcancontrolthemousemovementbymeansofthegesturesintheair.Intheprocessofdevelopmentanddebuggingofthedesign,themodulesofaccelerometersensordataacquisition,gadget?layerHIDdeviceofUSBdevice,LCD?NOKIA5110display,configurationofAVRMCUfusebit,Bluetooth,handgesturesrecognitionalgorithm,men
4、uandUIinterfaceareusedforsoftwareandhardwaredebugging.AUSBportatthereceivingendisrecognizedasastandardHIDafterPCinsertion,whichisfree?drive,andplugandplay.Theoperationofuserscanrealizedynamicinteraction.ThegesturerecognitionalgorithmandBluetoothmoduleareusedtocontrolthemovementofmouseandkeyboardcomb
5、opackbymeansofthegesturesintheair.Thekeyboardisoperatedviakeysandneedntconnectinglines,whichisconnectedwiththeterminalendinsertedintocomputerthroughBluetoothforcommunicationtorealizedynamicinteraction.Keywords:Bluetooth;USB;freedrive;mouseandkeyboard0引言空中鼠標是一種輸入設備,能像傳統(tǒng)鼠標一樣操作光標,卻不局限在某一平面進行操作,只是在空中晃動就
6、能實現(xiàn)想要的功能,自由方便就是它最突出的特性。本設計還將鍵盤的操作集成到了空中鼠標中,也就是設計了空中鼠標和鍵盤合一套裝,即本產(chǎn)品既可以當做鼠標用,也可當作鍵盤用。從產(chǎn)品角度上講,它適應消費電子的開展方向——更小、熱插拔、無線、低本錢,從技術(shù)上講,它應用了藍牙、USB、加速度導航技術(shù)等,有一定的理論深度和實現(xiàn)難度。1系統(tǒng)概覽與運行流程1.1系統(tǒng)總體框架本設計主要由6個功能模塊構(gòu)成:MCU主控模塊、鼠標動作識別輸入模塊〔加速度傾角識別〕、按鍵輸入模塊、LCD顯示模塊、藍牙串口模塊、USBD12模塊。本產(chǎn)品從硬件上看有兩個獨立的局部:一局部是動作識別采集編碼和藍牙發(fā)送設備;另一局部是藍牙接收和US
7、B免驅(qū)動鏈接設備,數(shù)據(jù)流參考圖中連接線箭頭。1.2系統(tǒng)運行流程上電之后,系統(tǒng)各模塊先初始化,然后通過按鍵進行模式選擇。在一個模式的運行過程中是不能切換到另一個流程的。當在鼠標模式時,對加速度計返回的數(shù)據(jù)進行判斷,四個方向的傾角對應鼠標的四個動作。當條件滿足時認為有鼠標的移動,開始循環(huán)向藍牙串口發(fā)送命令。當姿態(tài)復位時,條件不滿足,停止命令的發(fā)送。在鍵盤模式下,只需判斷按鍵即可發(fā)送相應的命令。一個模式的流程完成后,可以通過按鍵選擇切換到另一個模式。2各功能模塊的實現(xiàn)原理和方法識別動作識別模塊主要采用美新公司的MXC6202芯片,它是一款雙軸加速度計,通過混合信號處理和集成IIC總線組成一個完整的傳
8、感系統(tǒng),可以直接和微處理器連接而不再需要A/D轉(zhuǎn)換。MXC6202芯片測量加速范圍為2g,工作在3.0V,25℃環(huán)境下精度可到達[g512~g128。]動態(tài)靜態(tài)加速都可測量。因為不同動作時,手揮動的加速度與角速度是不同的,所以動作的識別總的來說有以下幾種方案:〔1〕只通過加速度來判定動作【1】;〔2〕只通過角速度來判定動作;〔3〕通過加速度和角速度協(xié)同來判定動作;〔4〕通過紅外發(fā)射與定位來判定動作。對于方案〔4〕,需要很多紅外定位設備來實現(xiàn)這個功能,而方案〔2〕和〔3〕雖然精度和效果可以到達很高但是本錢也會相當高。因此本設計采取了方案〔1〕來實現(xiàn)“空中操作〞這個功能【2】通過傾角來識別動作,即
9、通過手使設備向四個方向傾斜,假設傾斜超過一個范圍,那么判定為移動,到達鼠標移動的目的。通過水平位移來識別動作,即通過平移設備得到移動的加速度,積分一次即是移動速度,再積分一次就是移動的位移了。只需要將速度的大小對應為USB向PC發(fā)送報告的頻率,即可實現(xiàn)移動的效果【3】本設計的軟、硬件條件,由于硬件條件有限:單片機的運算能力有限、單加速度計漂移的問題較為嚴重,因此初步選用方案〔1〕,而方案〔2〕那么作為后期拓展開發(fā)用。具體來說,就是通過x,y兩個軸的數(shù)值進行閾值判斷,假設傾斜到一定程度,即通過I2C返回的數(shù)值到達一定標準?05嵌入式藍牙串口通信模塊實現(xiàn)無線功能。該模塊的特點是射頻方面的硬件已經(jīng)調(diào)
10、試完備,而且給用戶的接口只是很簡單的UART總線【4】,這給本文的開發(fā)帶來了極大的便利。本設計的發(fā)送和接收端配置時采用命令響應工作模式,工作時采用自動連接工作模式,其中發(fā)送端配置成主模式,接收端配置成從模式。HC?05是主從模式,配置步驟如下:〔1〕PIO11置高;〔2〕上電,模塊進入AT命令響應狀態(tài);〔3〕設置波特率38400b/s。2.3基于USBD12的免驅(qū)動模塊USBD12芯片是荷蘭飛利浦半導體公司的通用USB接口芯片,由其名稱可以了解HID設備是計算機直接與人交互的設備,例如鍵盤、鼠標和游戲桿等【5】。本設計中采用的USBD12芯片就可以幫助實現(xiàn)免驅(qū)動通信的功能。為了實現(xiàn)免驅(qū)動和本設
11、計中所需功能,對USBD12的控制步驟如下:〔1〕配置USBD12模塊,如讀模塊ID是否正確,假設不正確那么模塊初始化失?。弧?〕進入無限循環(huán),等待上位機發(fā)給模塊的中斷,進入USB設備初始化的枚舉過程;〔3〕枚舉成功后置位配置標志位,檢測串口是否有命令到來,假設有命令,那么向上位機發(fā)送一個報告,形成一次鍵盤或鼠標動作。3實物操作如圖1所示,可看到本設計的兩局部硬件設備。系統(tǒng)由2節(jié)5號電池供電,有1個電源開關(guān)、8個操作按鍵、4個不同顏色的彩色LED指示燈、1塊LCD屏、以及1個USB接收端。8個按鍵分別為,左側(cè):上、下、左、右;右側(cè):A,B,C,D〔自左向右,自上到下〕。B按鍵為模式切換按鍵,可
12、切換4種模式。空中鼠標模式下,改變設備的傾角即可移動鼠標,左鍵和下鍵為鼠標左鍵功能,右鍵和上鍵為鼠標右鍵功能。在空中鍵盤模式下,上、下、左、右、A,B,C,D分別對應的功能為:鍵盤上、下、左、右、Atl+F4、切換模式、Alt+Table、Enter。同時在進行按鍵操作后,會在LCD上顯示按下的按鍵。4方案的可拓展方向及研發(fā)前景首先在平臺方面,可以將這一思想嵌入到當今的移動設備中,如當下流行的智能 和平板電腦。例如在Android設備中,加速度計幾乎是一個必備器件,而其I2C驅(qū)動那么是由OEM商已經(jīng)提供好的,只需編寫相應的應用程序調(diào)用相應的接口,再加上一個通用的藍牙USB接收端即可完本錢設
13、計的核心功能。這對產(chǎn)品的硬本錢的增加幾乎為0。其次在硬件方面,可以有更多的選擇。對于處理器,可以選擇價格相對低廉的單片機,同時也可以選擇更高端的處理器,在其上運行操作系統(tǒng)達,到多任務運行并且有UI的效果。另外在動作識別方面,本設計還有較大的提升。目前在消費電子領(lǐng)域,有一款名為WII的游戲機設計的十分成功,它的動作識別就是通過加速度計和陀螺儀配合導航。本設計雖然可以流暢實現(xiàn)空中鍵鼠的功能,但是還可以嘗試其他的算法,以提高響應速度和可靠性。5結(jié)語本文設計了基于USBD12和加速度計的空中鍵鼠,該鍵鼠通過手勢在空中的動作便可控制鼠標的移動。設計程中,采用了加速度傳感器數(shù)據(jù)采集、USB設備gadget層HID設備、LCD?NOKIA5110顯示、AVR單片機熔絲位的配置、藍牙模塊、手勢動作識別算法、菜單與UI界面等等模塊的軟硬件調(diào)試,接收端有一個USB口,插入PC后被識別為一個標準HID人體學輸入設備,無須驅(qū)動,即插即用。用戶的操作到達可動態(tài)交互的目的。采用動作手勢識別算法,藍牙模塊等實現(xiàn)了通過手勢在空中的動作便可控制鼠標的移動,通過按鍵進行對鍵盤的操作,并且不需要連接線,通過藍牙與插在電腦上的接收端相連接通信,到達動態(tài)交互的目的。