基于三轴加速度传感器的人机交互智能手环

(整期优先)网络出版时间:2018-12-22
/ 2

基于三轴加速度传感器的人机交互智能手环

陈璇

(广州杰赛科技股份有限公司广东广州510310)

摘要:针对人们对人体运动状态监测的需求,设计了基于微机电系统(MEMS)数字输出加速度传感器ADXL345与超低功耗单片机MSP430F169的计步手环和基于Android系统的手机应用程序(APP)。结果表明,该系统运行可靠,计步算法适应性良好,具有体积小、功耗低、工作稳定、计步准确、人机交互友好等特点。

关键词:计步手环;MSP430F169;ADXL345;Android

随着生活水平的不断提高,人们对健康的需求越来越多。作为实时监测人体运动过程中运动状态的装置,计步器越来越受到欢迎。随着智能手机的出现,利用手机内置的加速度传感器,软件开发人员可开发出功能丰富的计步软件,但因手机体积较大不易于健身时携带,使计步软件的使用受到局限。为此,设计并实现了一种基于Android智能手机APP的计步手环,其可随时随地记录运动者的步行量、卡路里消耗等信息,且信息的存储、统计分析和信息再现可在智能手机上实现。

1系统硬件设计

手环的硬件模块主要由微处理器模块MSP430F169、信息采集模块ADXL345、时钟模块DS1337、蓝牙模块CH-06和电源模块组成。

1.1微处理器模块

微处理器模块采用MSP430F169单片机,其具有运算速度快、功耗低、体积小等特点。MSP430系列单片机有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.8m/s2),分辨率达13位(±16gn)。

1.3时钟模块

时钟模块选用DS1337芯片,它是一种低功耗、采用BCD码的实时时钟日历芯片,带有2个可编程的闹钟,另有2个引脚可用于方波输出或作为闹钟中断引脚,支持I2C通信,可与ADXL345一起挂接在I2C总线上。

1.4蓝牙模块

手环与智能手机间的通信采用蓝牙方式。HC-06蓝牙串口模块用于将串口转换为蓝牙,从而取代串口线,其标准工作电压为3.3V,波特率可调,本系统设为9600,以从机模式与手机进行配对、通信。HC-06兼具低功耗的特点,配对过程中电流为30~40mA,配对完毕无论通信与否均为8mA。

1.5电源模块

用AMS1117-3.3稳压芯片输出3.3V电压为整个系统供电,AMS1117-3.3的输入电压为4.75~12V,选择纽扣电池作为电源。

2算法实现与软件设计

计步算法在单片机端实现,软件设计分为手环上的单片机端程序和Android端的APP程序。

2.1计步算法设计

人体行走时,类似手环等便携设备的佩戴位置和方向是随意的,因而仅凭三轴加速度传感器的某一轴进行分析是不可靠的,故本系统在采集三轴加速度信息之后,先进行加速度合成,即矢量求和,再进行步态分析。三轴加速度矢量求和曲线如图1所示。从图1可看出,各加速度曲线并不规则,而经矢量求和后的合成加速度曲线则能较好地反映人体行走时的加速度变化。获得合成加速度后,利用数字滤波器进行滤波,可有效消除因抖动而使系统产生的误判。用递推平均滤波法和限幅滤波法对合成加速度曲线进行滤波。在一次抖动测试中,数字滤波后的合成加速度曲线如图2所示。

从图2可看出,经过数字滤波后因偶然抖动引起的加速度突变已被消除,从而减少系统误判。将数字滤波后的结果进行步态分析,判定一次有效计步的3个条件为:

1)曲线向下跨过动态阈值。动态阈值每1s更新一次,取上1s产生的最大值和最小值的平均值。

2)人体走路的频率在0.5~5Hz,即2次计步之间的时间间隔必须在0.2~2s的时间窗口之内,否则无效。

3)人体走路产生的加速度变化会有一个波峰和波谷,其峰值必须大于预定值,本系统设为1.5m/s2。

2.2单片机端程序

手机APP通过蓝牙发送不同的控制字符至手环,单片机响应串口接收中断并判断接收寄存器中的内容,执行相应的操作,从而实现对手环的控制。手环上除系统复位按键、闹钟振动停止按键外,其他所有操作均通过手机APP完成。

2.3Android手机端APP设计

Android手机端APP除了与手环交互外,主要承担计步信息的存储、分析及直观呈现的任务。APP的主体由4个页面组成的人机交互层、负责蓝牙通信业务的后台服务和用于存储信息的数据库3部分组成。

人机交互层的4个页面以Fragment动态加载的方式加载于同一个Activity上,方便用户在不同页面之间快速切换。APP启动时,首先对数据库中的当日计步信息进行统计并显示在主界面上,同时用一个自定义的进度条提示用户当日计划的完成情况。APP主界面也是控制手环的主控界面,连接手环后,可控制手环开始计步、暂停计步、更新及显示手环的记录信息,并将这些信息存入数据库;闹钟设置界面可对手环进行闹钟设置;个人信息设置界面用于保存用户信息,其中身高与体重将作为计算卡路里参数在开始计步时传递给手环;在历史记录界面利用Android的图表绘制引擎AchartEngine将数据库中的每日信息通过柱状图的形

式呈现,以供用户查看。负责蓝牙业务的后台服务主要通过发送和接收系统广播的方式与相关页面通信,其生命周期与前台人机交互层同步。数据库部分,在第一次打开数据库时,将在库中建立2个表,分别按天和按次记录历史数据,除了在历史记录页面用柱状图显示外,还可切换到详细信息模式,此时通过一个自定义的ListView将这2个表中的信息以列表方式显示。

3结束语

针对当前人们对人机交互智能手环的需求,采用三轴加速度传感器设计了一种计步算法,并运用该算法在手环上实现了计步功能,验证了算法的可行性及其准确率。通过在Android系统上搭建应用软件,成功实现了对手环的控制,充分利用了手机APP功能拓展性好、人机交互方便、易于呈现及存储信息等特点,免除了传统计步器繁琐的按键操作,结合手环的便携性,可提高用户体验。测试结果表明,该手环运行可靠,计步算法适应性良好。

参考文献:

[1]戴俊.电子计步器给您带来健康[J].健康,1998(11):24.

[2]苏亚光,吴亚峰,索依娜.Android平台下传感器技术开发计步器应用[J].电脑编程技巧与维护,2010(23):40-46.

[3]杨慧亮,孙怡宁,李丹,等.基于Android手机平台的人体能耗检测系统的研究与开发[J].仪表技术,2013(7):13-16.