ADXL345模块怎么检测摔倒

2019-08-20 16:07发布

原子哥,请问ADXL345模块怎么检测摔倒呢???求解答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
17条回答
正点原子
1楼-- · 2019-08-20 20:05
 精彩回答 2  元偷偷看……
RCSN
2楼-- · 2019-08-20 21:55
回复【2楼】正点原子:
---------------------------------
好像是要检测中断源的。。有点迷茫
RCSN
3楼-- · 2019-08-21 00:50
回复【2楼】正点原子:
---------------------------------
1. 失重:在跌倒的开始都会发生一定的失重现象。在自由落体的下降过程,这个现象会更加明显,加速度的矢量和会降低到接近0g,持续时间与自由落体的高度有关。对于一般的跌倒,失重现象虽然不会有像自由落体那么明显,但也会发生合加速度小于1g的情况(通常情况下合加速度应大于1g)。因此,这可以作为跌倒状态的第一个判断依据。可以由ADXL345的Free_Fall中断来检测。
2. 撞击:失重之后,人体发生跌倒的时候会与地面或其他物体发生撞击,在加速度曲线中会产生一个很大的冲击。这个冲击可以通过ADXL345的Activity中断来检测。因此,Free_Fall中断之后,紧接着产生Activity中断是跌倒状态的第二个判断依据。
3. 静止:通常,人体在跌倒后,也就是撞击发生之后,不可能马上起来,会有短暂的静止状态(如果人因为跌倒而导致昏迷,甚至可能是较长时间的静止)。表现在加速度曲线上就是会有一段时间的平稳。这可以通过ADXL345的Inactivity中断来检测。因此,Activity中断之后的Inactivity中断是跌倒状态的第三个判断依据。
4. 与初始状态比较:跌倒之后,人体会发生翻转,因此人体的方向会与原先静止站立的姿态(初始状态)不同。这使得跌倒之后的静止状态下的三轴加速度数值与初始状态下的三轴加速度不同(见图4)。假设跌倒检测器固定在被测人体上的某个部位,这样初始状态下的三轴加速度数值可以认为是已知的(本例中,初始状态为:X轴0g,Y轴-1g,Z轴0g)。读取Inactivity中断之后的三轴加速度数据,并与初始状态进行比较。如图4所示,重力加速度方向由Y轴上的-1g变为了Z轴上的1g,这说明人体发生了侧向跌倒。因此,跌倒检测的第四个依据就是跌倒后的静止状态下加速度值与初始状态发生变化,且矢量变化超过一定的门限值(比如0.7g)。
RCSN
4楼-- · 2019-08-21 03:43
回复【2楼】正点原子:
---------------------------------
基本可以用ADXL345的中断来检测其摔倒,只是程序还不够完美。。
正点原子
5楼-- · 2019-08-21 07:08
回复【5楼】RCSN:
---------------------------------
慢慢优化吧,呵呵.
开荤的唐僧
6楼-- · 2019-08-21 10:17
 精彩回答 2  元偷偷看……

一周热门 更多>