李 鹏,乔清理,吴 竞
(天津医科大学 生物医学工程与技术学院,天津 300070)
基于MEMS加速度传感器的无手鼠标*
李 鹏,乔清理,吴 竞
(天津医科大学 生物医学工程与技术学院,天津 300070)
设计一种无手鼠标,使手部残疾或脊髓损伤的患者能够通过无手操作的方式使用计算机。系统以MSP430F5529为控制芯片,控制放置在头部的MEMS加速度传感器测量头部倾角,并将倾角转换为光标位移量来控制光标的移动;利用声控模块和继电器模块设计声控开关,来实现鼠标按键的点击功能;利用nRF2401无线模块实现鼠标系统与计算机的无线通信。该倾斜鼠标可以使用户通过倾斜头部来控制光标的移动,通过向吹气开关吹气实现鼠标按键的点击功能。该倾斜鼠标可以辅助手部残疾或脊髓损伤的患者通过无手操作的方式有效地控制光标移动,为其使用计算机提供了一种途径。
加速度传感器; 倾角; 声控模块; 继电器模块; 光标位移量
计算机给人们的生活带来了很大的便利,成为人们生活中必不可少的一部分。计算机的使用一般离不开鼠标、键盘等输入设备,尤其是鼠标在计算机的操作中扮演着重要的角色,它通过拖拽、点击等方式来与计算机通信,是一种重要的人机交互设备。但是,现有鼠标使用时一般需要用手来进行操作,这对于身体健康的人来说是可行的,对于那些脊髓损伤、瘫痪或者手部残疾[1,2]的人来说,却很难实现。这些人由于运动功能受损,不能有效地控制手部运动,因此无法使用传统的鼠标来操作计算机。为了辅助这部分残疾人使用计算机,出现了一些利用人体生理电信号如眼动肌电、P300脑波、μ或者β节律等[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 鼠标按键点击功能
当鼠标按键微动开关按下时,内部触点接触,电路导通;松开后,触点分离,电路断开。鼠标检测到微动开关状态后,实时更新鼠标状态数据发送给计算机处理,从而实现鼠标的点击功能。为了实现无手操作的目的,利用声控模块和继电器模块设计了两个吹气开关,来实现鼠标的点击功能。吹气开关与鼠标主控制芯片的外部中断引脚相连,向吹气开关吹气时会在主控制芯片的引脚上产生一个中断,鼠标控制器芯片通过检测中断状态来判断是否有按键按下,从而实现鼠标按键的点击功能。
2.1 系统总体设计
设计的倾斜鼠标主要包括数据发射和数据接收两个部分,系统框图如图2所示。
图2 倾斜鼠标系统框图Fig 2 System block diagram of tilt mouse
在数据发射部分,加速度传感器采集头部的加速度信息;MSP430微处理器控制加速度传感器采集头部加速度信息,然后通过一定的滤波算法和计算,将头部的加速度信息转为光标位移数据,同时通过检测吹气开关的状态,来实现鼠标的按键功能;无线发射模块负责数据的无线传输。在数据接收部分,无线接收模块接收发射部分传输的鼠标数据;MSP430微处理器控制无线接收模块接收发射部分发出的数据,然后建立与计算机的USB连接,将接收到的数据通过USB协议发送给计算机处理。
2.2 MSP430F5529微处理器模块
MSP430F5529微控制器是TI公司推出的一种带Flash的16位超低功耗微控制器。其具有业内领先的超低功耗模式特别适合开发电池供电的小型移动设备。设计中,MSP430F5529微处理器主要负责控制加速度传感器采集头部加速度信息,计算出光标相对位移量以及检测吹气开光状态;控制无线收发模块进行数据的无线传输;建立倾斜鼠标与计算机的USB连接,实现鼠标数据与计算机的通信。
2.3 加速度传感器模块
ADXL345加速度传感器是基于可变电容原理的加速度测量系统,可以测量x,y,z三个轴向上的加速度,并通过I2C或者SPI接口直接输出加速度的值。该传感器测量范围为±2,±4,±8,±16 gn,分辨率最高为13 bit,灵敏度为3.9 mgn/LSB。其既可以用于检测物体静态的重力加速度,也可以检测动态加速度。其具有较高的分辨率能够检测出小于1°的倾角变化,因此可以用来检测头部的运动状态。
ADXL345加速度采集电路如图3所示,其采用I2C总线连接方式通过一根时钟信号线SCL和一根数据线SDA来完成主机与设备之间的双向数据传输。
图3 加速度采集模块电路图Fig 3 Schematic diagram of acceleration acquisition module
2.4 吹气开关模块
吹气开关模块主要用于实现鼠标按键的点击功能,其主要由声控模块和继电器模块组成。声控模块能够根据外界是否有声音来输出低电平或高电平,以此控制继电器模块的闭合和导通。设计中吹气开关模块连接到微处理器芯片的外部中断引脚上,向吹气开关吹气将会在中断引脚上产生一个中断信号,微处理器芯片通过检测中断信号来判断吹气开关是否触发,并将吹气开关状态传递给计算机以此实现鼠标的按键功能。设计中,将两个吹气开关分别放在头部靠近嘴角的两侧,向头部左侧的声控开关吹气可以实现鼠标左键单击,向头部右侧的声控开关吹气可以实现鼠标右键单击,吹一次气为单击,连吹两次为双击。吹气开关模块电路如图4所示。
图4 吹气开关电路图Fig 4 Circuit diagram of air-blowing switch
三极管Q1在电路中相当于一个开关管,当无外界声音触发时,集电极和射集之间处于管断状态,电流很小,此时集电极将在引脚3处输出一个高电位;当有外界声音触发时,会在电路中产生交流信号通过电容C1叠加到Q1的基极,当基极电压大于偏置电压时,三极管将会导通,此时集电极将输出一个低电位。LM393是一个电压比较器,集电极输出电压通过INA+引脚引入比较器并与INA—引脚上的电压进行比较,当INA+引脚电压高于INA—引脚电压时,比较器OUTA引脚将会输出一个高电平,反之则会输出一个低电平。OUTA引脚与继电器模块的输入引脚相连,继电器常闭端与外部中断引脚相连。当外界无声音触发时,声控模块输出高电平,继电器公共端和常开端闭合,电路断开;当有外界声音出发时,声控模块输出低电平,继电器公共端和常闭端闭合,电路导通,从而在中断引脚产生中断信号,完成鼠标的点击功能。
2.5 数据无线传输模块
设计中采用nRF2401模块进行鼠标数据的无线传输,其是一种单片射频收发芯片,工作在2.4 GHz频段,内部由晶体振荡器、功率放大器、频率合成器和调制解调器等模块组成。该无线收发芯片具有较低的工作电压,可以在 1.9~3.6 V低电压下正常工作。其数据传输速率高达2 Mbps,能够用于数据的高速传输,以保证数据传输的实时性。RF24L01可以通过SPI或I2C接口与单片机通信,其通信电路如图5所示。
图5 无线传输模块电路图Fig 5 Circuit diagram of wireless transmission module
2.6 系统流程图
倾斜鼠标系统流程图如图6所示,首先由微处理器控制加速度传感器采集头部的加速度信息,计算出头部的倾斜角度和倾斜方向,并进行滤波处理,然后映射为光标的相对位移值;同时,检测两个吹气开关的状态,来实现鼠标的按键功能。微处理器采集到上述数据后,将其通过无线发射模块传输给接收端。在无线接收端,微处理器控制无线模块接收发射的数据,并将其通过USB协议传递给计算机处理。最后,计算机将接收到的数据转换为光标的移动和点击,实现鼠标与计算机的交互。
图6 系统软件流程图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加速度传感器设计了一种倾斜式鼠标,通过测量头部的倾斜角度并将其映射为光标位移量来控制光标在屏幕上的移动;通过向设计的声控开关吹气来实现鼠标点击功能。该鼠标可以辅助脊髓损伤、瘫痪或者手部残疾患者通过无手操作的方式控制光标移动,为其使用计算机提供了途径。
[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] 陈 炜,佟丽娜,宋全军,等.基于惯性传感器件的跌倒检测系统设计[J].传感器与微系统,2010,29(8):117-119.
[6] 马洪连,郑保重,王 伟.基于MEMS技术倾角测量系统的设计与实现[J].仪器仪表学报,2005,26(8):185-187.
[7] 侯文生,戴加满,郑小林,等.基于加速度传感器的前臂运动姿态检测[J].传感器与微系统,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加速度传感器的数字倾角仪设计[J].传感器与微系统,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-),男,河南驻马店人,硕士研究生,研究方向为医疗电子、传感器技术。