计步器初步构思
来源:互联网 发布:淘宝助手导入csv失败 编辑:程序博客网 时间:2024/05/17 09:45
计步器基本原理:将人体当做参考物,设立坐标系,那么有三个分量,X,Y,Z无论人怎么佩戴计步器,在行走或者奔跑时,三个分量中至少有一个相对加速度很大,将变化最大的一个分量用作计步的计算。
得到步数后,进而可以求得行走距离,卡路里等。
根据以上,初步计划用adxl345 3轴加速度计。 资料多,接口I2C,SPI相对熟悉,各方面性能也不错。
单片机:stc89c52和stm32作测试。
显示模块;oled屏
通讯:蓝牙接口或其他等
先用adxl345模块做测试,能准确得到数据之后,算法没问题后,画一个板子,用adxl345芯片以及其他外设等。
后续持续更新:
初步计划:
1.运用adxl345模块和stm32MCU,先能准确测出X,Y,Z三轴方向加速度,现在初步思路有,adxl345、I2C驱动 搭建好。(初步完成)
算法数据初步计划和实现:
2.连续采样50次,持续更新三轴加速度中最大值和最小值,每50次更新一次,50次中的MAX和MIN,求出平均值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引脚处于高电平,器件的7位I2C地址是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)——初步构思-----后记!已经荒废了
- 多个同构数据表在不同oracle服务器访问策略初步构思
- 动画构思
- 开发构思
- 项目构思
- 网游开发构思
- FeedNow新的构思
- 构思中的金融科幻小说
- 游戏构思与创意
- 我的构思------启光一好
- BeyondTrack 项目构思
- 用户管理构思
- 特征选择之 FCBF算法
- 深入浅出CUDA编程
- tomcat启动报错:java.util.zip.ZipException: error in opening zip file
- 【LeetCode】213. House Robber II
- Validform实时表单验证插件实例使用
- 计步器初步构思
- 计算机网络(一) 第一章 概述
- 大数据生态系统入门必看:pig、hive、hadoop、storm、mapreduce等白话诠释
- linux-shell(8) grep 命令的使用【自己的笔记】
- android学习之路
- google GRPC for Ios Xcode 集成grpc 以及使用
- Effective C++ 0导读
- unity-使用 Camera 和 Render Texture 制作小地图
- 树分治