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

?

基于空中運(yùn)動(dòng)/手勢(shì)控制接口的空中鼠標(biāo)設(shè)計(jì)

2016-05-14 13:09張家田許凱嚴(yán)正國(guó)
現(xiàn)代電子技術(shù) 2016年6期

張家田 許凱 嚴(yán)正國(guó)

摘 要: 設(shè)計(jì)一款基于空中運(yùn)動(dòng)/手勢(shì)控制接口技術(shù)的空中鼠標(biāo)。通過(guò)MEMS傳感器采集三軸加速度,利用空中運(yùn)動(dòng)/手勢(shì)控制接口技術(shù)對(duì)三軸加速度進(jìn)行解算,輸出為位移、姿態(tài)和動(dòng)作。用“位移”控制鼠標(biāo)指針移動(dòng);“姿態(tài)”和“動(dòng)作”模擬多媒體播放快捷鍵和鼠標(biāo)按鍵功能。突破了傳統(tǒng)鼠標(biāo)必須在桌面上使用的限制,在鼠標(biāo)按鍵功能的基礎(chǔ)上融入多媒體快捷鍵播放功能,實(shí)現(xiàn)空中無(wú)按鍵的全手勢(shì)/運(yùn)動(dòng)控制的空中鼠標(biāo)。

關(guān)鍵詞: MEMS傳感器; 空中運(yùn)動(dòng)/手勢(shì)控制接口技術(shù); 空中鼠標(biāo); 三軸加速度

中圖分類號(hào): TN911?34; TP334.2 文獻(xiàn)標(biāo)識(shí)碼: A 文章編號(hào): 1004?373X(2016)06?0143?04

Design of air mouse based on interface technology of air motion and gesture control

ZHANG Jiatian, XU Kai, YAN Zhengguo

(MOE Key Laboratory of Photo Electricity Gas & Oil Logging and Detecting, Xian Shiyou University, Xian 710065, China)

Abstract: An air mouse based on the interface technology of air motion and gesture control was designed. The three?axis accelerations are acquired by MEMS sensor, and resolved by using the interface technology of air motion and gesture control to output the shift, posture and action. The “shift” is used to control the movement of mouse pointer, “posture” and “action” are used to simulate the functions of multimedia playing shortcut keys and mouse button. The limit that the traditional mouse must be used on the desktop was broken. The multimedia shortcut keys playing function is integrated on the basis of mouse button function to realize the full gesture and motion control of air mouse without buttons.

Keywords: MEMS sensor; air motion and gesture control interface technology; air mouse; three?axis acceleration

1968年鼠標(biāo)的出現(xiàn)是人機(jī)交互領(lǐng)域一個(gè)重大突破,它為計(jì)算機(jī)的操作提供了快捷便利的條件。鼠標(biāo)的發(fā)展經(jīng)歷了機(jī)械、光電及當(dāng)前廣泛運(yùn)用的光學(xué)鼠標(biāo),這些鼠標(biāo)的操作都離不開(kāi)以桌面為使用的限制。然而,在很多苛刻的環(huán)境下無(wú)法提供桌面時(shí)(如車上、床上、野外的辦公等),那么傳統(tǒng)鼠標(biāo)的使用就會(huì)受到極大的局限性。隨著微機(jī)電系統(tǒng)(Micro?Electro?Mechanical Systems,MEMS)的飛速發(fā)展,基于MEMS傳感器技術(shù)已被逐漸應(yīng)用到日常生活需求中。目前,對(duì)基于MEMS傳感器的無(wú)線鼠標(biāo)有一定的研究。密歇根大學(xué)很早就已經(jīng)將雙軸加速度計(jì)應(yīng)用到鼠標(biāo)的領(lǐng)域[1],但是基于MEMS無(wú)線鼠標(biāo)設(shè)計(jì)大部分都是測(cè)量位移特性控制鼠標(biāo)移動(dòng)[2]。然而,大量實(shí)驗(yàn)表明:利用MEMS傳感器很難準(zhǔn)確地測(cè)量位移[3]。而本文設(shè)計(jì)的MEMS傳感器空中鼠標(biāo)應(yīng)用了空中運(yùn)動(dòng)/手勢(shì)控制接口技術(shù),利用運(yùn)動(dòng)矢量加速度在xOy平面投影的方向與模大小來(lái)控制鼠標(biāo)指針的移動(dòng)方向與速度;通過(guò)手勢(shì)姿態(tài)和動(dòng)作來(lái)模擬空鼠標(biāo)單/雙擊、滑輪鍵功能和部分快捷鍵功能。使空中鼠標(biāo)突破了傳統(tǒng)鼠標(biāo)必須在桌面上使用的限制,使用場(chǎng)合更加具有多元化。

1 系統(tǒng)方案設(shè)計(jì)

空中鼠標(biāo)系統(tǒng)設(shè)計(jì)分為兩部分:手持端和主機(jī)端。手持端是由可充電鋰電池、升壓穩(wěn)壓電路、電容式觸摸感應(yīng)開(kāi)關(guān)、C8051F311、MEMS傳感器ADXL343和發(fā)送藍(lán)牙模塊組成。空中鼠標(biāo)手持端設(shè)計(jì)框圖如圖1所示。

圖1 空中鼠標(biāo)手持端設(shè)計(jì)框圖

主機(jī)端是由接收藍(lán)牙模塊、UART轉(zhuǎn)USB橋接電路和PC上位機(jī)組成,空中鼠標(biāo)主機(jī)端設(shè)計(jì)框圖如圖2所示。

圖2 空中鼠標(biāo)主機(jī)端設(shè)計(jì)框圖

2 系統(tǒng)硬件設(shè)計(jì)

2.1 主控器與MEMS傳感器

本設(shè)計(jì)采用C8051F311單片機(jī)作為主控芯片,它具有增強(qiáng)型UART和增強(qiáng)型SPI串行接口,高速、流水線結(jié)構(gòu)的8051兼容的 CIP?51 內(nèi)核。ADXL343是一款多功能3軸、低功耗和具有I2C和SPI接口的數(shù)字輸出低g MEMS加速度計(jì)[4]。以高分辨率(13位)測(cè)量加速度,測(cè)量變化范圍達(dá)±16 g;內(nèi)置運(yùn)動(dòng)檢測(cè)功能,可以檢測(cè)到活動(dòng)、靜止和自由落體的運(yùn)動(dòng),所有中斷可獨(dú)立映射至兩個(gè)外部中斷引腳;采用32級(jí)FIFO緩沖器存儲(chǔ)數(shù)據(jù),將MCU的負(fù)荷降至最低,并降低了整體系統(tǒng)功耗。

2.2 鋰電池充電電路設(shè)計(jì)

鋰電池充電電路采用了恒定電流/恒定電壓充電芯片TP4056為充電器??罩惺髽?biāo)的鋰電池可用USB進(jìn)行充電,通過(guò)2管腳外接的電阻調(diào)節(jié)充電電流大小。鋰電池充電電路如圖3所示,紅色D1亮?xí)r表示正在充電,藍(lán)色D2亮?xí)r表示充電完成,當(dāng)欠壓、電池溫度過(guò)高、過(guò)低時(shí)D1,D2都熄滅[5]。

圖3 充電電路

2.3 升壓穩(wěn)壓電路設(shè)計(jì)

由可充電鋰電池給系統(tǒng)供電,長(zhǎng)時(shí)間使用電池電壓會(huì)降低,不足以提供系統(tǒng)3.3 V正常工作電壓。現(xiàn)采用BL8530芯片將低電壓(低至0.8 V)升壓穩(wěn)壓至3.3 V電壓。升壓穩(wěn)壓電路如圖4所示,BL8530只需要電感、輸出電容和肖特基二極管3個(gè)外部元件就可以輸出3.3 V電壓。

2.4 電容式觸控開(kāi)關(guān)

應(yīng)用電容式觸控傳感器技術(shù)[6],使空中鼠標(biāo)更加低功耗。手接觸電容式觸控開(kāi)關(guān)(當(dāng)空中鼠標(biāo)正常使用時(shí)),使系統(tǒng)處于導(dǎo)通工作狀態(tài);當(dāng)手不接觸電容開(kāi)關(guān)時(shí),系統(tǒng)處于低功耗待機(jī)狀態(tài)。

圖4 升壓穩(wěn)壓電路

2.5 藍(lán)牙通信

無(wú)線通信采用以CC2540為核心的低功耗藍(lán)牙4.0系列HM?11模塊,支持AT指令,可更改主、從模式以及串口波特率等參數(shù)。上位機(jī)與藍(lán)牙接收模塊之間應(yīng)用Silicon Labs公司的USB轉(zhuǎn)UART橋接芯片CP2102,實(shí)現(xiàn)了MEMS三軸加速度與上位機(jī)通信。

3 系統(tǒng)軟件設(shè)計(jì)

3.1 主程序設(shè)計(jì)

接觸空中鼠標(biāo)電容式觸摸鍵,使系統(tǒng)上電;系統(tǒng)初始化、配置UART、 SPI和使能中斷;對(duì)ADXL343寄存器進(jìn)行參數(shù)設(shè)置,包括活動(dòng)閾值(THRESH_ACT)、靜止閾值(THRESH_INACT)、靜止時(shí)間(TIME_INACT)、數(shù)據(jù)格式(DATA_FORMAT)以及中斷使能與中斷映射等;等待外部DATA_READY中斷獲取DATAX0,DATAX1,DATAY0,DATAY1,DATAZ0,DATAZ1寄存器數(shù)據(jù);通過(guò)藍(lán)牙發(fā)送包含三軸加速度的8個(gè)字節(jié)數(shù)據(jù),系統(tǒng)主程序流程框圖如圖5所示。

圖5 系統(tǒng)主程序流程框圖

3.2 上位機(jī)軟件設(shè)計(jì)

在VB上位機(jī)將接收到的8 B進(jìn)行數(shù)據(jù)解析,如果沒(méi)找見(jiàn)第1個(gè)字節(jié)0xDD,返回值為1;第8個(gè)字節(jié)是對(duì)前7個(gè)字節(jié)CRC校驗(yàn),如果校驗(yàn)錯(cuò)誤,返回值為2;如果頭字節(jié)與CRC校驗(yàn)尾字節(jié)都接收正確,返回值為0,繼續(xù)讀取中間6個(gè)字節(jié)的加速度,數(shù)據(jù)格式為Data[N].ax,Data[N].ay,Data[N].az。由于MEMS傳感器安裝存在方向性,利用旋轉(zhuǎn)矩陣調(diào)整坐標(biāo)方向,使手勢(shì)運(yùn)動(dòng)方向與MEMS傳感器坐標(biāo)方向相一致。數(shù)據(jù)接收流程圖見(jiàn)圖6。

圖6 數(shù)據(jù)接收流程圖

手勢(shì)姿態(tài)加速度Data[0]在xy,yz,xz三個(gè)平面的投影加速度為axy,ayz,axz。由于鼠標(biāo)指針在xy平面運(yùn)動(dòng),所以[axy]>閾值、[ayz]<閾值、[axz]<閾值,當(dāng)某個(gè)平面的投影加速度小于閾值時(shí),表示在該平面保持靜止?fàn)顟B(tài)。利用xy平面投影加速度axy正負(fù)控制指針移動(dòng)方向、 axy模大小控制指針移動(dòng)速度。Data[0].ax、Data[0].ay按一定非線性對(duì)應(yīng)關(guān)系得到相對(duì)位移dx和dy,驅(qū)動(dòng)鼠標(biāo)事件mouse_event(&H1,Int(dx),Int(dy),0,0)來(lái)控制鼠標(biāo)指針移動(dòng)。手勢(shì)控制空中鼠標(biāo)傾斜角度越大,axy模越大,指針移動(dòng)速度越快??罩惺髽?biāo)指針移動(dòng)流程框圖如圖7所示。

利用當(dāng)前手勢(shì)姿態(tài)加速度Data[0],解析為ax,ay,az,axy,ayz,axz,手勢(shì)姿態(tài)流程框圖如圖8所示,比較各個(gè)分量加速度與設(shè)定閾值的關(guān)系和手勢(shì)姿態(tài)保持時(shí)間(Time) 的關(guān)系,得到六種空間姿態(tài)(靜態(tài)):上、下、左、右、前、后。六種姿態(tài)來(lái)驅(qū)動(dòng)鍵盤事件(keybd_event),對(duì)鍵盤事件定義不同,實(shí)現(xiàn)不同的快捷鍵播放多媒體(PPT)功能,如F5,Alt+F4,Page_Up等快捷鍵。

通過(guò)手勢(shì)動(dòng)作獲得N組加速度Data[N],通過(guò)數(shù)據(jù)篩選法得到x,y,z三軸加速度的最大值與最小值,對(duì)應(yīng)三軸最值作差得到dx,dy,dz,記錄出現(xiàn)最大值時(shí)三軸對(duì)應(yīng)的N值ax_t1,ay_t1,az_t1和最小值時(shí)N值ax_t2,ay_t2,az_t2,當(dāng)dz>dx與dz>dy時(shí),因?yàn)殡p擊時(shí)會(huì)出現(xiàn)四次極值,所以在一定時(shí)間內(nèi)比較連續(xù)極值的次數(shù),判斷是否發(fā)生雙擊。手勢(shì)動(dòng)作流程框圖如圖9所示,通過(guò)比較識(shí)別出七種動(dòng)作(動(dòng)態(tài)):向左、向后、向前、向后、向下(左擊)、向上(右擊)與雙擊。各種手勢(shì)動(dòng)作驅(qū)動(dòng)不同事件來(lái)模擬鼠標(biāo)按鍵和媒體播放功能。

圖7 空鼠指針移動(dòng)流程框圖

圖8 手勢(shì)姿態(tài)流程框圖

4 實(shí)驗(yàn)分析

隨機(jī)抽取20個(gè)人對(duì)空中鼠標(biāo)指針移動(dòng)、PPT播放和鼠標(biāo)單/雙擊功能的準(zhǔn)確率做100次實(shí)驗(yàn)數(shù)據(jù)次數(shù)統(tǒng)計(jì)與分析,實(shí)驗(yàn)測(cè)試結(jié)果如表1所示。

圖9 手勢(shì)動(dòng)作流程框圖

表1 基于空中運(yùn)動(dòng)/手勢(shì)控制接口技術(shù)空中鼠標(biāo)實(shí)驗(yàn)測(cè)試

實(shí)驗(yàn)證明本文設(shè)計(jì)的空中鼠標(biāo)功能準(zhǔn)確率在96%以上。鼠標(biāo)指針移動(dòng)失誤源于傾斜角度過(guò)大或過(guò)小導(dǎo)致偏離指定目標(biāo);控制PPT播放失誤源于手勢(shì)姿態(tài)(靜態(tài))不夠標(biāo)準(zhǔn);鼠標(biāo)單/雙擊操作的失誤是未能向正確的方向做出對(duì)應(yīng)動(dòng)作(誤動(dòng)作),如向下動(dòng)作一次是單擊,實(shí)驗(yàn)者不是向下動(dòng)作,而是向右下方動(dòng)作。通過(guò)給實(shí)驗(yàn)者指導(dǎo)使用空中鼠標(biāo)姿態(tài)與動(dòng)作后再次實(shí)驗(yàn)統(tǒng)計(jì),準(zhǔn)確率高達(dá)99%以上。

5 結(jié) 論

本文設(shè)計(jì)的空中鼠標(biāo)在具有傳統(tǒng)鼠標(biāo)功能的基礎(chǔ)上又融入了多媒體播放快捷鍵功能,更主要的是突破了傳統(tǒng)鼠標(biāo)必須放在桌面使用的限制,實(shí)現(xiàn)了空中無(wú)按鍵全手勢(shì)/運(yùn)動(dòng)控制。實(shí)驗(yàn)證明:空中運(yùn)動(dòng)/手勢(shì)控制接口技術(shù)對(duì)手勢(shì)姿態(tài)與動(dòng)作的識(shí)別率高,準(zhǔn)確的控制鼠標(biāo)指針移動(dòng)、模擬鼠標(biāo)按鍵功能和遙控多媒體播放。在空中運(yùn)動(dòng)/手勢(shì)控制接口技術(shù)的基礎(chǔ)上,為進(jìn)一步開(kāi)發(fā)人機(jī)體感交互設(shè)備提供參考。

參考文獻(xiàn)

[1] DRAKE A J, KIM H, CHAE J, et al. Two?dimensional position detection system with MEMS accelerometer for MOUSE applications [C]// Proceedings of 2001 IEEE Conference on Design Automation. [S.l.]: IEEE, 2001: 852?857.

[2] 陳建新,卜翔,王榮,等.基于MEMS加速度的三維無(wú)線鼠標(biāo)設(shè)計(jì)與實(shí)現(xiàn)[J].無(wú)線互聯(lián)科技,2011(8):22?25.

[3] 陳建新,王榮,章韻.MEMS加速度傳感器的距離測(cè)量性能分析[J].電腦與電信,2011(11):30?32.

[4] Analog Devices. ADXL343: 3?Axis, ±2 g/±4 g/±8 g/±16 g digital MEMS accelerometer datasheet [R]. US: Analog Devices, 2012.

[5] 丁學(xué)用,王玲玲,何彥廷.便攜式太陽(yáng)能手機(jī)充電器設(shè)計(jì)[J].中國(guó)科技信息,2014(16):190?192.

[6] 孫俊杰.用電容式觸控技術(shù)觸摸生活[J].中國(guó)電子商情·基礎(chǔ)電子,2010(7):28?29.

裕民县| 本溪| 民勤县| 农安县| 贵州省| 临泽县| 和平区| 赫章县| 常山县| 禄劝| 电白县| 宿州市| 海兴县| 准格尔旗| 宁明县| 富源县| 洛浦县| 麻江县| 靖西县| 来凤县| 新建县| 翁牛特旗| 静海县| 青海省| 澄江县| 霍山县| 密山市| 大竹县| 榆树市| 吐鲁番市| 滁州市| 刚察县| 余干县| 贞丰县| 竹北市| 交口县| 凤城市| 乐平市| 江都市| 互助| 昂仁县|