计步器初步构思

 

计步器基本原理:将人体当做参考物,设立坐标系,那么有三个分量,X,Y,Z无论人怎么佩戴计步器,在行走或者奔跑时,三个分量中至少有一个相对加速度很大,将变化最大的一个分量用作计步的计算。


得到步数后,进而可以求得行走距离,卡路里等。 

 

根据以上,初步计划用adxl345  3轴加速度计。 资料多,接口I2C,SPI相对熟悉,各方面性能也不错。

 

单片机:stc89c52stm32作测试。

 

显示模块;oled


通讯:蓝牙接口或其他等


先用adxl345模块做测试,能准确得到数据之后,算法没问题后,画一个板子,用adxl345芯片以及其他外设等。


后续持续更新:

初步计划:

 

 1.运用adxl345模块和stm32MCU,先能准确测出X,Y,Z三轴方向加速度,现在初步思路有,adxl345I2C驱动 搭建好。(初步完成)

 

  算法数据初步计划和实现:

 

 2.连续采样50次,持续更新三轴加速度中最大值和最小值,每50次更新一次,50次中的MAXMIN,求出平均值average(动态阈值)

  2.1对数据进行采样滤波,X,Y,Z轴读出来的数据分别在ADXL345地址0x32-0x37,六个地址中,每两个依次对应X,Y,Z轴的两个加速度分量。可以将这些数据经过算法提取出来,进行滤波。

2.2计算动态门限和动态精度,在一个范围里取一个精度

 

2.3利用线性移位寄存器和动态阈值来判断个体是否迈出一步

  利用一个线性移位寄存器和动态阈值判断个体是否有效地迈出一步。该线性移位寄存器含有2个寄存器:sample_new寄存器和sample_old寄存器。这些寄存器中的数据分别称为sample_new和sample_old。当新采样数据到来时,sample_new无条件移入sample_old寄存器。然而,sample_result是否移入sample_new寄存器取决于下述条件:如果加速度变化大于预定义精度,则最新的采样结果sample_result移入sample_new寄存器,否则sample_new寄存器保持不变。因此,移位寄存器组可以消除高频噪声,从而保证结果更加精确。步伐迈出的条件定义为:当加速度曲线跨过动态阈值下方时,加速度曲线的斜率为负值(sample_new < sample_old)。】(查自博客,作为参考)

 

 

1.硬件部分

 

 

模块电路图,I2C总线和单片机通信

 

特别注意:采用I2C通信时,RESERVED引脚必须选择好接VCC还是接GND,数据手册如下写明:

支持单个或多个字节的读取/写入。ALT ADDRESS引脚处于高电平,器件的7I2C地址是0x1D,随后为R/W位。这转化为0x3A写入,0x3B读取。通过ALT ADDRESS引脚(引脚12)接地,可以选择备用I2C地址0x53(随后为R/W)。这转化为0xA6写入,0xA7读取。对于任何不使用的引脚,没有内部上拉或下拉电阻,因此,CS引脚或ALT ADDRESS引脚悬空或不连接时,任何已知状态或默认状态不存在。使用I 2 C时, CS引脚必须连接至V DD I/O

ALT ADDRESS引脚必须连接至任一V DD I/O或接地。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值