用来判断当前人状态的方法有很多,加速度计是一种不错的方法。在我们的计步器上就是用一个三轴加速度计来实现计算人运动了多少步的。
首先,我们使用的加速度计是MMA8451Q,它 是一款具有 14位分辨率的智能低功耗、三轴、电容式微机械加速度传感器,具有±2g/±4g/±8g 的用户可选量程,可以实时输出高通滤波数据和非滤波数据。这款加速度传感器具有丰富嵌入式功能,带有灵活的用户可编程选项,可以配置多达两个中断引脚。供电电压:1.95 V 至 3.6 V ,接口电压:1.6 V 至 3.6 V。输出数据速率 (ODR) 范围: 1.56 Hz 至 800 Hz。下图是MMA8451Q模块的结构图,这个模块感觉设计挺好,既有插针孔,又有邮票孔,便于DIY..
这个模块采用是的I2C 数字输出接口(在上拉电阻为 4.7 kΩ 时,最高频率可达 2.25 MHz),适用于 6 个中断来源的 2 个可编程中断引脚采用I2C 接口进行通信。所以我们必须接线的管脚有:VCC,GND,SCL,SDA,SA0 这个五个管脚。其中需要特别注意的是MMA8451Q是3.3v供电的,如果需要与 5V 的处理器连接,用户需要在模块的SDA、SCL、SA 等数字输入引脚与单片机的 IO 引脚之间各串联一个 2K 左右的电阻,SA脚是地址最低位选择,即地址选择。
采用模拟IIc的方式,读取加速度信号。即可得到所需的数据。有了加速度后,下面是我们整个计步器的具体流程:
具体加速度代码如下附件:
代码.zip
(63.48 KB, 下载次数: 76)