資源簡介
基于mpu6050計步器算法
代碼片段和文件信息
#define?P_P_DIFF 1000?/*?波峰-波谷的差值,即3D閾值?*/
#define?RISING_EDGE??1?/*?上升沿狀態?*/
#define?FALLING_EDGE?0?/*?下降沿狀態?*/
#define?FAST_WALK_TIME_LIMIT_MS 200? /*?ms?*/
#define?SLOW_WALK_TIME_LIMIT_MS 10000?/*?10s?內沒有走一步?結束計步?*/
#define?STEP_OK?7 /*?7步法則?*/
unsigned?int?lastPos?=?0; /*?舊數據?*/
unsigned?int?newMax?=?0?newMin?=?0;?/*?波峰-波谷?*/
bool?walkSta?=?FALSE;?/*?獲得一次峰值狀態?*/
bool?walkOkSta?=?FALSE;?/*?連續10s內走了7步?有效行走狀態?*/
bool?pSta?=?RISING_EDGE;?/*?3D數據波形狀態?*/
long?lastTime?=?0; /*?上一次?walkSta?的時間?*/
unsigned?char?stepOK?=?0;?/*?初始計步門限??濾除干擾?*/
unsigned?long?stepCount?=?0;?/*?步數值?*/
/*****************************************************************
**?input:?3?axis?or?angle
**?output:?step?count
**?user?read:
3?axis?is?filter?value.
******************************************************************/
unsigned?long?Step_Count(float?axis0?float?axis1?float?axis2){
unsigned?int?nowPos?=?0;
int?ppDiff?=?0;
int?timeDiff?=?0;
/*?獲取3D?IMU?*/
nowPos?=?(unsigned?int)powf(sqrtf(axis0)?+?
- 上一篇:DSP的SVPWM產生
- 下一篇:跳過U8安裝環境監測
評論
共有 條評論