基于三轴加速度传感器的人机交互智能手环
2015-06-21李易陆陈洪波蒋晓旭李腾生冯思浩
李易陆,陈洪波,蒋晓旭,李腾生,冯思浩
基于三轴加速度传感器的人机交互智能手环
李易陆,陈洪波,蒋晓旭,李腾生,冯思浩
(桂林电子科技大学生命与环境科学学院,广西桂林 541004)
针对人们对人体运动状态监测的需求,设计了基于微机电系统(micro electro mechanical systems,简称MEMS)数字输出加速度传感器ADXL345与超低功耗单片机MSP430F169的计步手环和基于Android系统的手机应用程序(APP)。该手环用传感器ADXL345采集人体行走时的加速度信息,利用矢量求和算法实现计步功能,并估算行走过程中的热量消耗;手环通过蓝牙方式与Android手机通信,从而在手机上实现计步数据与卡路里消耗的显示,并可在手机上对手环的DS1337时钟芯片进行闹钟设置。通过对2名男性和2名女性分别进行60 s步行测试,测试结果表明,该系统运行可靠,计步算法适应性良好,具有体积小、功耗低、工作稳定、计步准确、人机交互友好等特点。
计步手环;MSP430F169;ADXL345;Android
随着生活水平的不断提高,人们对健康的需求越来越多。作为实时监测人体运动过程中运动状态的装置,计步器越来越受到欢迎[1]。早期机械式计步器的振动传感器利用平衡锤的上下振动使一个触点出现通或断实现计步,这种计步器佩戴时须垂直于地面,计步精度受佩戴位置和方向的影响较大,现已趋于淘汰。MEMS技术的出现使计步器的原理和设计产生了巨大的变革,基于MEMS技术的加速度传感器能实现3个轴向的加速度采集和输出,配合软件算法,电子计步器计步的精度较机械式计步器有很大提高,但仍存在操作繁琐和信息不易呈现等缺陷。随着智能手机的出现,利用手机内置的加速度传感器,软件开发人员可开发出功能丰富的计步软件[2],但因手机体积较大不易于健身时携带,使计步软件的使用受到局限。为此,设计并实现了一种基于Android智能手机APP的计步手环,其可随时随地记录运动者的步行量、卡路里消耗[3]等信息,且信息的存储、统计分析和信息再现可在智能手机上实现。
1 系统硬件设计
手环的硬件模块主要由微处理器模块MSP430F169、信息采集模块ADXL345[4]、时钟模块DS1337、蓝牙模块CH-06和电源模块组成。手环的硬件系统框图如图1所示。
图1 手环硬件系统框图Fig.1 Block diagram of bracelet hardware
1.1 微处理器模块
微处理器模块采用MSP430F169单片机,其具有运算速度快、功耗低、体积小等特点。MSP430系列单片机有5种低功耗模式[5],处于低功耗模式0 (LPM0)时,CPU停止工作,外围模块继续工作, CPU仍可响应串口中断实现唤醒或执行其他操作,当加速度采样未更新时,将单片机置于LPM0可降低系统功耗。MSP430F169具有USART0和USART1两个串行通信模块,只需配置相应的寄存器,便可使这2个串行通信模块在不同的通信协议下工作。本系统将USART0配置为串口通信与蓝牙连接,将USART1配置为I2C模式,通过I2C总线与ADXL345传感器、DS1337时钟芯片进行通信。
1.2 加速度信息采集模块
三轴加速度传感器选用ADI公司的基于MEMS技术的ADXL345,其内置的模数转换可将三轴加速度的数字信号通过I2C或SPI总线输出,测量范围可选±2gn、±4gn、±8gn、±16gn(gn为地球重力加速度,通常取9.8 m/s2),分辨率达13位(±16gn)。
1.3 时钟模块
时钟模块选用DS1337芯片,它是一种低功耗、采用BCD码的实时时钟日历芯片,带有2个可编程的闹钟,另有2个引脚可用于方波输出或作为闹钟中断引脚,支持I2C通信,可与ADXL345一起挂接在I2C总线上。
1.4 蓝牙模块
手环与智能手机间的通信采用蓝牙方式。HC-06蓝牙串口模块用于将串口转换为蓝牙,从而取代串口线,其标准工作电压为3.3 V,波特率可调,本系统设为9600,以从机模式与手机进行配对、通信。HC-06兼具低功耗的特点,配对过程中电流为30~ 40 m A,配对完毕无论通信与否均为8 m A。
1.5 电源模块
用AMS1117-3.3稳压芯片输出3.3 V电压为整个系统供电,AMS1117-3.3的输入电压为4.75~ 12 V,选择纽扣电池作为电源。
2 算法实现与软件设计
计步算法在单片机端实现,软件设计分为手环上的单片机端程序和Android端的APP程序。
2.1 计步算法设计
计步算法流程图如图2所示。人体行走时,类似手环等便携设备的佩戴位置和方向是随意的,因而仅凭三轴加速度传感器的某一轴进行分析是不可靠的,故本系统在采集三轴加速度信息之后,先进行加速度合成,即矢量求和,再进行步态分析[6-7]。三轴加速度矢量求和曲线如图3所示。从图3可看出,各加速度曲线并不规则,而经矢量求和后的合成加速度曲线则能较好地反映人体行走时的加速度变化。
图2 计步算法流程图Fig.2 Flow chart of pedometer algorithm
图3 三轴加速度矢量求和曲线Fig.3 Vector summation curve of triaxial acceleration
获得合成加速度后,利用数字滤波器进行滤波,可有效消除因抖动而使系统产生的误判。用递推平均滤波法和限幅滤波法对合成加速度曲线进行滤波。在一次抖动测试中,数字滤波后的合成加速度曲线如图4所示。从图4可看出,经过数字滤波后因偶然抖动引起的加速度突变已被消除,从而减少系统误判。
将数字滤波后的结果进行步态分析,判定一次有效计步的3个条件为:
1)曲线向下跨过动态阈值。动态阈值每1 s更新一次,取上1 s产生的最大值和最小值的平均值。
图4 数字滤波后的合成加速度曲线Fig.4 Resultant acceleration curve after digital filtering
2)人体走路的频率在0.5~5 Hz,即2次计步之间的时间间隔必须在0.2~2 s的时间窗口之内,否则无效。
3)人体走路产生的加速度变化会有一个波峰和波谷,其峰值必须大于预定值,本系统设为1.5 m/s2。
2.2 单片机端程序
单片机系统运行流程图如图5所示。手机APP通过蓝牙发送不同的控制字符至手环,单片机响应串口接收中断并判断接收寄存器中的内容,执行相应的操作,从而实现对手环的控制。手环上除系统复位按键、闹钟振动停止按键外,其他所有操作均通过手机APP完成。
图5 单片机系统运行流程图Fig.5 Operation flow chart of single chip micyoco system
2.3 Android手机端APP设计
Android手机端APP除了与手环交互外,主要承担计步信息的存储、分析及直观呈现的任务。APP的主体由4个页面组成的人机交互层、负责蓝牙通信业务的后台服务和用于存储信息的数据库3部分组成。图6为Android手机端APP框架。
图6 Android手机端APP框架Fig.6 Framework of Android APP
人机交互层的4个页面以Fragment动态加载的方式加载于同一个Activity上,方便用户在不同页面之间快速切换。APP启动时,首先对数据库中的当日计步信息进行统计并显示在主界面上,同时用一个自定义的进度条提示用户当日计划的完成情况,手环实物与APP主界面如图7所示。APP主界面也是控制手环的主控界面,连接手环后,可控制手环开始计步、暂停计步、更新及显示手环的记录信息,并将这些信息存入数据库;闹钟设置界面可对手环进行闹钟设置;个人信息设置界面用于保存用户信息,其中身高与体重将作为计算卡路里参数在开始计步时传递给手环;在历史记录界面利用Android的图表绘制引擎AchartEngine将数据库中的每日信息通过柱状图的形式呈现,以供用户查看。负责蓝牙业务的后台服务主要通过发送和接收系统广播的方式与相关页面通信,其生命周期与前台人机交互层同步。数据库部分,在第一次打开数据库时,将在库中建立2个表,分别按天和按次记录历史数据,除了在历史记录页面用柱状图显示外,还可切换到详细信息模式,此时通过一个自定义的List View将这2个表中的信息以列表方式显示。
图7 手环实物与APP主界面Fig.7 Pedometer bracelet and APP main page
3 实验测试
为了检验手环的计步精度,由2位男性和2位女性分别进行60 s步行测试。现实中,人们走路时有的习惯于让手自然摆动,而有的则摆动幅度较小或不摆动(如手上拿着东西时),因此测试分为手摆动、手不摆动2种模式。手环的计步测试结果如表1所示。从表1可看出,计步手环具有较高的计步准确率。
表1 手环的计步测试结果Tab.1 Step-counting test results of bracelet
4 结束语
针对当前人们对人机交互智能手环的需求,采用三轴加速度传感器设计了一种计步算法,并运用该算法在手环上实现了计步功能,验证了算法的可行性及其准确率。通过在Android系统上搭建应用软件,成功实现了对手环的控制,充分利用了手机APP功能拓展性好、人机交互方便、易于呈现及存储信息等特点,免除了传统计步器繁琐的按键操作,结合手环的便携性,可提高用户体验。测试结果表明,该手环运行可靠,计步算法适应性良好。
[1] 戴俊.电子计步器给您带来健康[J].健康,1998(11): 24.
[2] 苏亚光,吴亚峰,索依娜.Android平台下传感器技术开发计步器应用[J].电脑编程技巧与维护,2010(23):40-46.
[3] 杨慧亮,孙怡宁,李丹,等.基于Android手机平台的人体能耗检测系统的研究与开发[J].仪表技术,2013(7): 13-16.
[4] 李兴法,尹冠飞.数字式加速度传感器ADXL345的原理及应用[J].黑龙江科技信息,2010(36):2-14.
[5] 董文军,汪仁煌.基于MSP430的极低功耗系统设计[J].单片机与嵌入式系统应用,2003(6):18-20.
[6] 陈银溢.基于CC2541和LIS3DSH的计步器设计[J].机械工程与自动化,2014(6):96-98.
[7] 韩文正,冯迪,李鹏,等.基于加速度传感器LIS3DH的计步器设计[J].传感器与微系统,2012(11):97-99.
编辑:张所滨
Human-computer interaction intelligent bracelet based on triaxial acceleration sensor
Li Yilu,Chen Hongbo,Jiang Xiaoxu,Li Tengsheng,Feng Sihao
(School of Life and Environmental Sciences,Guilin University of Electronic Technology,Guilin 541004,China)
An intelligent pedometer bracelet is designed to meet the significant demand of body movement monitoring.The MSP430F169 is selected as the microcontroller,and the triaxial accelerometer ADXL345 is applied to collect the information on the body.The vector summation of triaxial acceleration is used to counter the step,and the calorie is estimated.HC-06 Bluetooth module is used to communicate with Android phones for achieving the information of pedometer and calorie.The alarm clock can be set by the DS1337 clock chip.2 males and 2 females are participated in one minute walking test,experimental results show that the system has the reliable performance and a strong adaptability.It has the advantages of portable type and low power consumption.
pedometer bracelet;MSP430F169;ADXL345;Android
TP271
A
1673-808X(2015)05-0412-04
2015-05-12
国家自然科学基金(81460273);广西科学研究与技术开发计划(桂科攻1348020-10);广西自然科学基金(2013GXNSFA019325);广西大学生创新创业计划(201410595101,20141059102)
陈洪波(1972-),男,湖南茶陵人,教授,博士,研究方向为生物医学电子。E-mail:hongbochen@163.com
李易陆,蒋晓旭,李腾生,等.基于三轴加速度传感器的人机交互智能手环[J].桂林电子科技大学学报,2015,35(5):412-415.