王晗 朱建博 张佳艳 高征 汪斌
【摘 要】随着老龄化的加速,老人健康的问题越来越得到社会的关注,其中,跌倒是危害老人健康的重要原因。本文采用Arduino硬件平台、JY901加速度传感器模块和SIM900A串口GPRS模块构建了一种跌倒监测系统。该系统通过串口采集加速度传感器模块的运动数据,送到单片机进行跌倒检测,GPRS模块将跌倒状态发到服务器远端。该系统成本较低,能较精确地实现跌倒检测。
【关键词】Arduino;加速度传感器;跌倒检测
【Abstract】With the acceleration of aging problem, people pay more attention to the health problem of the elders. The falling down of the elders is an important cause for harming their health. This paper proposes a falling detection system by using Arduino platform, JY901 accelerometer and SIM900A GRRS module. The motion data sensed by accelerometer is sent to MCU for fall detection. The detecting result is also sent to server by GPRS module. This system has the advantage of low cost, and it can detect the fall accurately.
【Key words】Arduino; Accelerometer; Fall detection
0 引言
随着现代社会的发展、生活水平的提高和老龄化的加速,老人健康问题越来越得到关注,人们不仅仅满足于看病,并且要做到预防。其中,老人健康和日常养生保健问题是现在医学重点研究的方向。在日常生活中,由于生理机能的退化,老人发生意外跌倒的概率很大,跌倒给老人身心带来很大伤害。国际上老人跌倒定义为无意图的摔倒在地上或者其他平面上,但是没有包括外力、晕厥或疾病发作所导致的摔倒[3,9]。老人跌倒之后,会产生许多负面心理和身体上的创伤,跌倒也是导致老人出意外的一个重要原因。因此,如何进行老人跌倒的准确检测和及时报警是一个重要的课题。跌倒检测作为现代化的检测手段,对保护老人身心健康起到了很大的作用[4]。
当前,跌倒检测的方法大致分成两类:基于视频监控的检测方法和基于加速度传感器的检测方法。基于视频监控采用摄像头及嵌入式软件检测跌倒,该检测方法易受到光照条件和摄像头清晰度的影响,同时会带来隐私泄露的风险。基于加速度传感器[5]的检测方法采用加速度传感器检测跌倒,该方法成本较低,精确度较高,设计比较简单。本文给出了一种基于Arduino单片机模块和九轴加速度模块JY901的跌倒检测设备,该系统通过JY901九轴加速度传感器模块检测运动数据,在单片机中判断是否跌倒,并通过GPRS模块发送报警信息发送出去。该设备成本低,能较精确地实现跌倒检测。
1 系统硬件设计
图1 跌倒检测硬件设计图
本系统硬件采用Arduino Uno单片机模块,以其作为主要控制器件,Arduino单片机带有14路数字输入/输出接口和6路模拟输入接口。传感器采用JY901模块,JY901是一个九轴加速度模块,内部已经实现了姿态解算器和卡尔曼滤波算法,能在运动环境下准确地输出当前运动数据,该模块提供I2C接口和串口,可以直接输出数字信号,无需A/D转换,该模块能输出时间、加速度、角速度、角度和磁场等数据[10]。系统硬件框图如图1所示:JY901模块和Arduino单片机模块采用串口相连,JY901模块采集得到的加速度数据通过串口送到单片机中进行跌倒检测。在单片机中,通过事先的实验,取得人在站立与行走时候的加速度变化数据,再和收集到的数据来比较判断是否超出事先所设定的阈值,如果在规定的时间内变化超过事先所设定的阈值,则由单片机将报警信息通过GPRS模块送到服务器端。其中GPRS设备使用SIM900A串口模块,该模块也通过串口和Arduino单片机模块相连,单片机和GPRS模块通过发送AT指令建立连接和传送数据。
2 系统软件设计
本设计主要针对的是跌倒检测,在参数的选择上是使用了人体的加速度指标作为主要的检测指标。为了更好地检测加速度的变化,将设计的装置佩戴在腰部,这样有利于实现数据的采集与报警。经实验数据分析比较走路、跑步和跌倒3种状态下加速度数据的变化程度可知,在行走时和跑步时的变化的加速度变化相对较小,而在跌倒事件发生时,加速度(尤其是垂直的Z轴)有明显的变化。因此,可利用加速度来判断是否有跌倒发生。在实际场合,为了更好地判断和结合3个方向轴的加速度数据,继续提取加速度向量幅值[8](AVM, Acceleration Vector Magnitude)判断跌倒状态。加速度向量幅值的定义为:
AVM=■(1)
其中ax、ay和az分别为x轴、y轴和z轴方向的加速度数据。使用加速度向量幅值的优点是:无论朝哪个方向跌倒,由3个方向加速度得到的矢量均可以充分参与判断。在提取了加速度向量幅值之后,将加速度向量幅值与阈值比较,若高于阈值则认为发生了跌倒,低于阈值则认为是静止或正常运动,由于跌倒时加速度向量幅值呈现单脉冲的特性,在实际场合,采用多次阈值判断进行跌倒检测,以区别疑似跌倒与真正跌倒。所谓疑似跌倒是指人在日常活动之中产生的导致加速度向量幅值变化却不是跌倒的行为,例如,从静坐到站起来、跑步、快走、上楼梯下楼梯等,如果加速度向量幅值的多次检测结果超过阈值,即认定为疑似跌倒。
3 跌倒检测实验
现场测试时将跌倒检测设备放置在人体腰间位置,实验结果如表1所示[6-7]。实验对7组走路(无跌倒)、向前跌倒、向后跌倒、向左跌倒和向右跌倒状态进行检测,√表示检测到跌倒,×表示没有检测到跌倒,表1数据表明大多数情况下该设备能实现跌倒检测。实验中加速度向量幅值阈值选定为2米/秒2,每次跌倒检测重复检测次数为3次。
4 结论
本文采用Arduino单片机模块、加速度传感器模块和GPRS模块构建跌倒检测系统,通过加速度模块采集运动数据,送到Arduino单片机模块进行判断是否跌倒,在判断跌倒后,将报警信息通过GPRS模块发送出去。该设计具有成本低和精度高的优点,具有一定的实用价值。
【参考文献】
[1]张军建,赵捷,安陌京.基于三轴加速度传感器的跌倒检测研究[J].现代生物医学进展,2014,18:3585-3588.
[2]杨帆,谢靖,周余,王自强.基于头部运动轨迹和3D视觉的跌倒检测系统[J].现代电子技术,2012,35(2):54-57.
[3]李亚萍,薛冰冰,吴书裕,张媛,周凌宏.基于IOS的老年人跌倒检测报警系统研究[J].医疗卫生装备,2014,35(9):15-18.
[4]倪逸扬.基于Android系统的老人跌倒检测软件[J].计算机光盘软件与应用,2013(16):55-57.
[5]朱亮,邹兵,严龙.基于 MMA7260QT的危险场所跌倒检测设备的研制[J].工业安全与环保,2012,38(5):45-48.
[6]吴志强,曹蕾,王凯.基于智能手机的人体跌倒检测系统设计[J].计算机工程与设计,2014,35(4):1465-1470.
[7]王刚.基于Arduino Uno平台的跌倒检测报警系统设计[J].单片机与嵌入式系统应用,2015(7):49-52.
[8]陶成林,雷必成,杨扬戬.基于STM32的跌倒防护装置研究[J].电子设计工程,2012,20(22):63-65.
[9]任红红,于普林.老年人跌倒的干预研究进展[J].中华老年医学杂志,2011,30(10):883-886.
[10]任志玲,张冰倩,郑丽媛.基于加速度传感器的跌倒检测与报警系统设计[J].计算机测量与控制,2013,21(6):1428-1430.