计步器
2015-10-20 19:15
211 查看
用重力感应器来记步,由于人走路时竖直方向是一个变加速和变减速的状态,通过记录手机收到的合力变化是否超过某个值的次数可测出步数。为了防止几个连续的合力都超出这个值,可以加一个条件(t==0或t==1)来防止连续合力都超值时只加多次次;
heli = v[0] * v[0] + v[1] * v[1] + v[2] * v[2];//heli每时每刻重力感应传回来的值的平方和
if (heli > lingmindu_1 && t == 0 && yigezhouqiyuzhuancishu >= 8) {//(为防止几个连续heli>lingmindu_1)用t来控制zongpaopinshu加一的另一个条件;
zongchaopincishu++;
lucheng = buchang_1 * zongchaopincishu / 100.0/chaohelicishu_1*2;
sudu = buchang_1 * 2 / (yigezhouqiyuzhuancishu / 38.0 * chaohelicishu_1) / 100;
yigezhouqiyuzhuancishu = 0;
t = 1;
} else {
yigezhouqiyuzhuancishu++;
}
if (heli < lingmindu_1 && t == 1) {
t = 0;
}
代码已经过检测,记步准确。
由于本人也是新手,大神勿喷
heli = v[0] * v[0] + v[1] * v[1] + v[2] * v[2];//heli每时每刻重力感应传回来的值的平方和
if (heli > lingmindu_1 && t == 0 && yigezhouqiyuzhuancishu >= 8) {//(为防止几个连续heli>lingmindu_1)用t来控制zongpaopinshu加一的另一个条件;
zongchaopincishu++;
lucheng = buchang_1 * zongchaopincishu / 100.0/chaohelicishu_1*2;
sudu = buchang_1 * 2 / (yigezhouqiyuzhuancishu / 38.0 * chaohelicishu_1) / 100;
yigezhouqiyuzhuancishu = 0;
t = 1;
} else {
yigezhouqiyuzhuancishu++;
}
if (heli < lingmindu_1 && t == 1) {
t = 0;
}
代码已经过检测,记步准确。
由于本人也是新手,大神勿喷
相关文章推荐
- BZOJ 1567: [JSOI2008]Blue Mary的战役地图( 二分答案 + hash )
- linux问题-easy_install安装bpython时报错
- 【大数据】2015 Bossie评选-20个最佳开源大数据技术
- 电路板排列问题
- Python 的new style class
- HDC、CDC、CCLientDC的关系、MFC类库
- C++中数据类型转换
- HDOJ 2149 Public Sale (巴什博奕微变形)
- 18个最新的极简主义风格网站
- mysql binlog命令
- How to recover from 'programmers burnout(转)
- jquery自定义函数的多种方法
- Codeforces Round #326 (Div. 2) B. Pasha and Phone C. Duff and Weight Lifting
- ACM新手入门常见问题
- webapp 中为span元素赋值
- 小小君的C语言第九课
- 编译错误:com.android.dex.DexException:
- CoreData
- 关于duilib中的list的扩展探索
- 设计模式————汇总