李 鵬,喬清理,吳 競
(天津醫(yī)科大學 生物醫(yī)學工程與技術學院,天津 300070)
?
基于MEMS加速度傳感器的無手鼠標*
李 鵬,喬清理,吳 競
(天津醫(yī)科大學 生物醫(yī)學工程與技術學院,天津 300070)
設計一種無手鼠標,使手部殘疾或脊髓損傷的患者能夠通過無手操作的方式使用計算機。系統(tǒng)以MSP430F5529為控制芯片,控制放置在頭部的MEMS加速度傳感器測量頭部傾角,并將傾角轉換為光標位移量來控制光標的移動;利用聲控模塊和繼電器模塊設計聲控開關,來實現(xiàn)鼠標按鍵的點擊功能;利用nRF2401無線模塊實現(xiàn)鼠標系統(tǒng)與計算機的無線通信。該傾斜鼠標可以使用戶通過傾斜頭部來控制光標的移動,通過向吹氣開關吹氣實現(xiàn)鼠標按鍵的點擊功能。該傾斜鼠標可以輔助手部殘疾或脊髓損傷的患者通過無手操作的方式有效地控制光標移動,為其使用計算機提供了一種途徑。
加速度傳感器; 傾角; 聲控模塊; 繼電器模塊; 光標位移量
計算機給人們的生活帶來了很大的便利,成為人們生活中必不可少的一部分。計算機的使用一般離不開鼠標、鍵盤等輸入設備,尤其是鼠標在計算機的操作中扮演著重要的角色,它通過拖拽、點擊等方式來與計算機通信,是一種重要的人機交互設備。但是,現(xiàn)有鼠標使用時一般需要用手來進行操作,這對于身體健康的人來說是可行的,對于那些脊髓損傷、癱瘓或者手部殘疾[1,2]的人來說,卻很難實現(xiàn)。這些人由于運動功能受損,不能有效地控制手部運動,因此無法使用傳統(tǒng)的鼠標來操作計算機。為了輔助這部分殘疾人使用計算機,出現(xiàn)了一些利用人體生理電信號如眼動肌電、P300腦波、μ或者β節(jié)律等[3]控制光標移動的研究。利用生物電控制光標移動的設備使用時一般需要安裝測量電極,過程較繁瑣且算法較為復雜。本文利用加速度傳感器設計了一種結構簡單、易用的傾斜鼠標,可以使用戶通過無手操作的方式控制光標在計算機屏幕上的移動。
1.1 頭部傾角檢測原理
傾斜鼠標通過將頭部傾角映射為光標位移量來控制光標在屏幕上的移動:當頭部向左右傾斜時,光標在屏幕水平方向上移動;當頭部向前后傾斜時,光標在屏幕垂直方向上移動。頭部傾角的測量通過放置在頭部的加速度傳感器[5]來完成,其傾角測量原理如圖1所示。
圖1 加速度傳感器傾角測量示意圖Fig 1 Tilt angle measurement diagram of acceleration sensor
在設計中,加速度傳感器水平放置在頭部,當頭部傾斜時,加速度傳感器平面也會隨之傾斜相同角度,因此,可以用加速度傳感器的傾角來代表頭部的傾角。當頭部傾斜時,傾斜的程度可以用加速度傳感器各軸的傾角θ,Ψ和Φ描述。其中θ表示加速度傳感器x軸方向傾角,Ψ表示加速度傳感器y軸方向的傾角,Φ表示加速度傳感器z軸與重力矢量g的夾角。
加速度傳感器三個軸的傾角計算公式如式所示[6~9]
(1)
(2)
(3)
式中 Ax為x軸上的重力加速度分量,Ay為y軸上的重力加速度分量,Az為z軸上的重力加速度分量。
1.2 光標移動原理
光標在屏幕上的位置可以用水平方向上的位移量Δx和垂直方向上的移位移量Δy來表示,如式所示
xnew=xold+Δx
(4)
ynew=yold+Δy
(5)
式中 xnew為當前時刻光標在屏幕水平方向上的位置,xold為上一時刻光標在屏幕水平方向上的位置,Δx為光標在屏幕水平方向上的相對位移量,ynew為當前時刻光標在屏幕垂直方向上的位置,yold為上一時刻光標在屏幕上垂直方向的位置,Δy表示光標在屏幕垂直方向上的相對位移量。鼠標工作時,通過實時更新光標的相對位移量Δx,Δy來控制光標在計算機屏幕上的移動。
設計的傾斜鼠標利用加速度傳感器測得頭部傾角,并將傳感器x軸方向相鄰時刻的傾角差映射為光標水平方向的位移量來控制光標在屏幕水平方向上的移動;將傳感器y軸方向相鄰時刻的傾角差映射為光標垂直方向的位移量來控制光標在屏幕垂直方向上的移動。設計中頭部傾角范圍設為(0°,60°),屏幕分辨率設為1 440像素×900像素,傾角與光標位移的映射關系為
(6)
(7)
式中 Δθ為加速度傳感器x軸方向上相鄰時刻的傾角差,Δψ為加速度傳感器y軸方向相鄰時刻的傾角差,Δx為光標在屏幕水平方向上的相對位移量,Δy為光標在屏幕垂直方向的相對位移量。設計中通過將光標水平方向以及垂直方向上的相對位移量Δx和Δy傳遞給計算機來控制光標在計算機屏幕上的移動。
1.3 鼠標按鍵點擊功能
當鼠標按鍵微動開關按下時,內部觸點接觸,電路導通;松開后,觸點分離,電路斷開。鼠標檢測到微動開關狀態(tài)后,實時更新鼠標狀態(tài)數(shù)據(jù)發(fā)送給計算機處理,從而實現(xiàn)鼠標的點擊功能。為了實現(xiàn)無手操作的目的,利用聲控模塊和繼電器模塊設計了兩個吹氣開關,來實現(xiàn)鼠標的點擊功能。吹氣開關與鼠標主控制芯片的外部中斷引腳相連,向吹氣開關吹氣時會在主控制芯片的引腳上產生一個中斷,鼠標控制器芯片通過檢測中斷狀態(tài)來判斷是否有按鍵按下,從而實現(xiàn)鼠標按鍵的點擊功能。
2.1 系統(tǒng)總體設計
設計的傾斜鼠標主要包括數(shù)據(jù)發(fā)射和數(shù)據(jù)接收兩個部分,系統(tǒng)框圖如圖2所示。
圖2 傾斜鼠標系統(tǒng)框圖Fig 2 System block diagram of tilt mouse
在數(shù)據(jù)發(fā)射部分,加速度傳感器采集頭部的加速度信息;MSP430微處理器控制加速度傳感器采集頭部加速度信息,然后通過一定的濾波算法和計算,將頭部的加速度信息轉為光標位移數(shù)據(jù),同時通過檢測吹氣開關的狀態(tài),來實現(xiàn)鼠標的按鍵功能;無線發(fā)射模塊負責數(shù)據(jù)的無線傳輸。在數(shù)據(jù)接收部分,無線接收模塊接收發(fā)射部分傳輸?shù)氖髽藬?shù)據(jù);MSP430微處理器控制無線接收模塊接收發(fā)射部分發(fā)出的數(shù)據(jù),然后建立與計算機的USB連接,將接收到的數(shù)據(jù)通過USB協(xié)議發(fā)送給計算機處理。
2.2 MSP430F5529微處理器模塊
MSP430F5529微控制器是TI公司推出的一種帶Flash的16位超低功耗微控制器。其具有業(yè)內領先的超低功耗模式特別適合開發(fā)電池供電的小型移動設備。設計中,MSP430F5529微處理器主要負責控制加速度傳感器采集頭部加速度信息,計算出光標相對位移量以及檢測吹氣開光狀態(tài);控制無線收發(fā)模塊進行數(shù)據(jù)的無線傳輸;建立傾斜鼠標與計算機的USB連接,實現(xiàn)鼠標數(shù)據(jù)與計算機的通信。
2.3 加速度傳感器模塊
ADXL345加速度傳感器是基于可變電容原理的加速度測量系統(tǒng),可以測量x,y,z三個軸向上的加速度,并通過I2C或者SPI接口直接輸出加速度的值。該傳感器測量范圍為±2,±4,±8,±16 gn,分辨率最高為13 bit,靈敏度為3.9 mgn/LSB。其既可以用于檢測物體靜態(tài)的重力加速度,也可以檢測動態(tài)加速度。其具有較高的分辨率能夠檢測出小于1°的傾角變化,因此可以用來檢測頭部的運動狀態(tài)。
ADXL345加速度采集電路如圖3所示,其采用I2C總線連接方式通過一根時鐘信號線SCL和一根數(shù)據(jù)線SDA來完成主機與設備之間的雙向數(shù)據(jù)傳輸。
圖3 加速度采集模塊電路圖Fig 3 Schematic diagram of acceleration acquisition module
2.4 吹氣開關模塊
吹氣開關模塊主要用于實現(xiàn)鼠標按鍵的點擊功能,其主要由聲控模塊和繼電器模塊組成。聲控模塊能夠根據(jù)外界是否有聲音來輸出低電平或高電平,以此控制繼電器模塊的閉合和導通。設計中吹氣開關模塊連接到微處理器芯片的外部中斷引腳上,向吹氣開關吹氣將會在中斷引腳上產生一個中斷信號,微處理器芯片通過檢測中斷信號來判斷吹氣開關是否觸發(fā),并將吹氣開關狀態(tài)傳遞給計算機以此實現(xiàn)鼠標的按鍵功能。設計中,將兩個吹氣開關分別放在頭部靠近嘴角的兩側,向頭部左側的聲控開關吹氣可以實現(xiàn)鼠標左鍵單擊,向頭部右側的聲控開關吹氣可以實現(xiàn)鼠標右鍵單擊,吹一次氣為單擊,連吹兩次為雙擊。吹氣開關模塊電路如圖4所示。
圖4 吹氣開關電路圖Fig 4 Circuit diagram of air-blowing switch
三極管Q1在電路中相當于一個開關管,當無外界聲音觸發(fā)時,集電極和射集之間處于管斷狀態(tài),電流很小,此時集電極將在引腳3處輸出一個高電位;當有外界聲音觸發(fā)時,會在電路中產生交流信號通過電容C1疊加到Q1的基極,當基極電壓大于偏置電壓時,三極管將會導通,此時集電極將輸出一個低電位。LM393是一個電壓比較器,集電極輸出電壓通過INA+引腳引入比較器并與INA—引腳上的電壓進行比較,當INA+引腳電壓高于INA—引腳電壓時,比較器OUTA引腳將會輸出一個高電平,反之則會輸出一個低電平。OUTA引腳與繼電器模塊的輸入引腳相連,繼電器常閉端與外部中斷引腳相連。當外界無聲音觸發(fā)時,聲控模塊輸出高電平,繼電器公共端和常開端閉合,電路斷開;當有外界聲音出發(fā)時,聲控模塊輸出低電平,繼電器公共端和常閉端閉合,電路導通,從而在中斷引腳產生中斷信號,完成鼠標的點擊功能。
2.5 數(shù)據(jù)無線傳輸模塊
設計中采用nRF2401模塊進行鼠標數(shù)據(jù)的無線傳輸,其是一種單片射頻收發(fā)芯片,工作在2.4 GHz頻段,內部由晶體振蕩器、功率放大器、頻率合成器和調制解調器等模塊組成。該無線收發(fā)芯片具有較低的工作電壓,可以在 1.9~3.6 V低電壓下正常工作。其數(shù)據(jù)傳輸速率高達2 Mbps,能夠用于數(shù)據(jù)的高速傳輸,以保證數(shù)據(jù)傳輸?shù)膶崟r性。RF24L01可以通過SPI或I2C接口與單片機通信,其通信電路如圖5所示。
圖5 無線傳輸模塊電路圖Fig 5 Circuit diagram of wireless transmission module
2.6 系統(tǒng)流程圖
傾斜鼠標系統(tǒng)流程圖如圖6所示,首先由微處理器控制加速度傳感器采集頭部的加速度信息,計算出頭部的傾斜角度和傾斜方向,并進行濾波處理,然后映射為光標的相對位移值;同時,檢測兩個吹氣開關的狀態(tài),來實現(xiàn)鼠標的按鍵功能。微處理器采集到上述數(shù)據(jù)后,將其通過無線發(fā)射模塊傳輸給接收端。在無線接收端,微處理器控制無線模塊接收發(fā)射的數(shù)據(jù),并將其通過USB協(xié)議傳遞給計算機處理。最后,計算機將接收到的數(shù)據(jù)轉換為光標的移動和點擊,實現(xiàn)鼠標與計算機的交互。
圖6 系統(tǒng)軟件流程圖Fig 6 Flow chart of system software
為了驗證傾斜鼠標的效果,本文分別使用光電鼠標和傾斜鼠標進行了打開、關閉文件的測試實驗。實驗中將加速度傳感器模塊粘貼在頭戴式耳機的正中間,將耳機戴在用戶頭上,用戶通過傾斜頭部來控制光標移動到指定文件夾,打開關閉其中的txt文件,如圖7所示。
圖7 傾斜鼠標性能測試實驗示意Fig 7 Characteristic testing experiment of tilt mouse
實驗中光電鼠標和傾斜鼠標完成實驗所用的時間如表1所示。其中傾斜鼠標平均用時11.76 s,光電鼠標平均用時3.66 s。
表1 傾斜鼠標和光電鼠標實驗用時
傾斜鼠標與光電鼠標相比完成實驗所需時間較長,但是其基本能夠滿足脊髓損傷、癱瘓或者手部殘疾患者操作計算機的需求,可以有效的完成普通鼠標的移動和點擊功能。
本文利用ADXL345加速度傳感器設計了一種傾斜式鼠標,通過測量頭部的傾斜角度并將其映射為光標位移量來控制光標在屏幕上的移動;通過向設計的聲控開關吹氣來實現(xiàn)鼠標點擊功能。該鼠標可以輔助脊髓損傷、癱瘓或者手部殘疾患者通過無手操作的方式控制光標移動,為其使用計算機提供了途徑。
[1] Yu J,Ishimatsu T,Zhang C,et al.Pillow-type computer input device for serious spinal cord injury[J].Modern Mechanical Engineering,2015,5(3):61-68.
[2] Jr C G P,Naves E L,Pino P,et al.Alternative communication systems for people with severe motor disabilities:A survey[J].Biomedical Engineering Online,2011,10(8):2569-2583.
[3] Rafael B,Luciano B,Jose Manuel R A,et al.Sensory system for implementing a human-computer interface based on electrooculography[J].Sensors,2010,11(1):310-328.
[4] Citi L,Poli R,Cinel C,et al.P300-based BCI mouse with genetically-optimized analogue control[J].IEEE Transactions on Neural Systems &Rehabilitation Engineering,2008,16(1):51-61.
[5] 陳 煒,佟麗娜,宋全軍,等.基于慣性傳感器件的跌倒檢測系統(tǒng)設計[J].傳感器與微系統(tǒng),2010,29(8):117-119.
[6] 馬洪連,鄭保重,王 偉.基于MEMS技術傾角測量系統(tǒng)的設計與實現(xiàn)[J].儀器儀表學報,2005,26(8):185-187.
[7] 侯文生,戴加滿,鄭小林,等.基于加速度傳感器的前臂運動姿態(tài)檢測[J].傳感器與微系統(tǒng),2009,28(1):106-108.
[8] Yan-Ping SU,Gong M F,Bin A N,et al.Design of a tilt angle measurement system based on ADXL345 sensor[J].Journal of Measurement Science and Instrumentation,2014(2):19-22.
[9] 沙承賢,李 杰,翟成瑞,等.基于MEMS加速度傳感器的數(shù)字傾角儀設計[J].傳感器與微系統(tǒng),2010,29(6):134-136.
喬清理,通訊作者,E—mail:qlqiao@tmu.edu.cn。
Hand-free mouse based on MEMS acceleration sensor*
LI Peng,QIAO Qing-li,WU Jing
(School of Biomedical Engineering and Technology,Tianjin Medical University,Tianjin 300070,China)
To help people with hand disability or spinal cord injury to use computer in a hand-free manner,a tilt mouse is designed.MSP430F5529 is used as main control chip to make the acceleration sensor to measure the tilt angle of head and transform the angle into movement of cursor;voice-activated switches using voice-activated and relay modules are built to realize the mouse click;nRF2401 module is used to realize the wireless communication between mouse system and computer.The tilt mouse can make user controlling movement of cursor by tilting head and realize the mouse click by blowing into the air-blowing switches.The tilt mouse can help people with hand-disability or spinal cord injury move cursor in hand-free manner efficiently and provide an access to computer for them.
acceleration sensor;tilt angle;voice-activated module;relay module;cursor displacement
10.13873/J.1000—9787(2016)11—0080—04
2016—09—26
國家自然科學基金資助項目(30870649)
TH 776
A
1000—9787(2016)11—0080—04
李 鵬(1989-),男,河南駐馬店人,碩士研究生,研究方向為醫(yī)療電子、傳感器技術。