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