由于计步器需要更新根据了人运动状态自动设置灵敏度的功能,发现上次发表的《实现计步器中的判断运动状态功能》文章缺少了人休息时的这一状态,这里补上这一状态。

要实现跑步与散步者两状态很简单,这里不解释(上一篇文章有介绍)。要实现休息与散步之间的区别也和跑步与散步状态区别类似。但要实现这工能要注意两点。一:休息与散步之间,总变化值(bianhuazhi )很小,而且也要设置散步时总变化值的最大值,这最大值不能根据跑步的最小值设置,要根据休息状态时的总变化值的减的量射,不然数值太大就要休息很久才能显示休息状态,这里重新设置了一个;二:如果用判断跑步与散步时用的总变化量(bianhuazhi)就会出现矛盾,因为跑步时总变化值已经设置了一个最大值,散步在设置一个最大值就会运行不了。因此,我用了一个新变量(sanbu_bianhuazhi )来解决这两个问题。还不明白这代码的可以去看看上一篇文章,能理解上篇文章的相信这里也能看懂。

由于代码是刚想出来,快毕业找工作忙碌,还没有经过优化,但功能已经准确实现。

public void onSensorChanged(SensorEvent event) {

// TODO Auto-generated method stub
float[] v = event.values;
StringBuilder sb = new StringBuilder();
sb.append(v[0]);
sb.append("\n" + v[1]);
sb.append("\n" + v[2]);
// sb.append("\n步数=" + zongchaopincishu/ (chaohelicishu_1 /2));
// sb.append("\n路程=" + lucheng);
// sb.append("\n速度sudu=" + sudu);
sb.append("\n运动状态state_motion=" + zhuangtai);
//sb.append("\n值=" + bianhuazhi);
//sb.append("\n值=sanbu" + sanbu_bianhuazhi);
text.setText(sb.toString());
heli = v[0] * v[0] + v[1] * v[1] + v[2] * v[2];
bianhuazhi = bianhuazhi + (heli - 98) * (heli - 98);
sanbu_bianhuazhi = sanbu_bianhuazhi + (heli - 98) * (heli - 98);
// Log.i("msg", bianhuazhi);
bianhuazhi = bianhuazhi - 7000;
sanbu_bianhuazhi = sanbu_bianhuazhi - 7000;
if (bianhuazhi > 2500000) {
zhuangtai = "跑步";
if (bianhuazhi > 3030000) {
bianhuazhi = 3030000;
sanbu_bianhuazhi = 3030000;
}
;
} else {
sanbu_bianhuazhi = sanbu_bianhuazhi + 6800;
if (sanbu_bianhuazhi > 100000&&heli <400) {
zhuangtai = "散步";// 判断状态
if (sanbu_bianhuazhi >= 102000) {
sanbu_bianhuazhi = 102000;
}
} else {
zhuangtai = "休息";
if (bianhuazhi < 0) {
bianhuazhi = 0;
sanbu_bianhuazhi = 0;
}

}
}

}

计步器判断运动状态2相关推荐

  1. 基于51单片机3轴加速度计ADXL345计步器卡路里系统设计

    摘要 计步器是一种颇受欢迎的日常锻炼进度监控器,可以激励人们挑战自己,增强体质,帮助瘦身.早期设计利用加重的机械开关检测步伐,并带有一个简单的计数器.晃动这些装置时,可以听到有一个金属球来回滑动,或者 ...

  2. 58、基于51单片机ADXL345计步器 卡路里系统设计

    毕设帮助.开题指导.技术解答(有偿)见文末. 目录 摘要 一.硬件方案 二.设计功能 三.实物图 四.原理图 五.PCB图 六.keil4开发软件-程序 七.资料包括 摘要 计步器是一种颇受欢迎的日常 ...

  3. BEVFormer论文解析

    目录 BEVFormer: Learning Bird's-Eye-View Representation from Multi-Camera Images via Spatiotemporal Tr ...

  4. matlab 零速检测,基于多步态零速检测的MEMS IMU室内定位技术

    1. 引言 由于互联网的发展.移动设备和各种个人设备的流行,基于位置的服务(Location Based Services, LBS)变得越来越重要,用户获得定位信息可将其用于导航.跟踪.监测.信息推 ...

  5. 苹果iPhone 5s延续了上一代iPhone5的经典设计

    苹果iPhone 5s延续了上一代iPhone5的经典设计.但为了形成差异化,Home键的部位,去掉了中间的小方 iPhone 5S iPhone 5S 块,整个样子非常平整,材质也采用了坚固的蓝宝石 ...

  6. android 判断手机计步_一种在Android手机上实现计步器的方法

    一种在Android手机上实现计步器的方法 [技术领域] [0001] 本发明设及一种在Amlroid手机上实现计步器的方法,特别设及对手机加速度传 感器数据的采集.处理及应用技术,属于传感器应用领域 ...

  7. android 判断手机计步_超精准的Android手机计步器开发

    亲测在小米.魅族.华为上可用,该app采用后台service计歩服务,所以只要app不被手机杀死在后台也是可以正常计歩的.上图: 1.需要在AndroidManifest.xml中添加权限 andro ...

  8. Android计步器算法实现(2)

    Android计步器算法实现(2) 前言 算法实现的意义 现实原因 优缺点 算法原理 运动状态判断 计步原理 步长计算原理 Java实现 补充 观测点的作用 数据的存放方式 前言 在之前我也写过两篇关 ...

  9. 浅谈加速度传感器及其在计步器中的应用

    手机传感器中的加速度传感器 期末做的是计步器APP,所以对加速度传感做了些研究哈哈,下面我就讲讲我学习的一下东西. 1.什么是加速度传感器? 首先传感器,顾名思义,就是将对象的变化感受传达给设备的一种 ...

最新文章

  1. R构建列联表(Contingency Table or crosstabs)
  2. My1stServlet
  3. 如何在Outlook 2013中管理附件
  4. 嵌入式系统开发者需要掌握什么技术?
  5. [Vue.js] 基础 -- Vue实例
  6. 关于module_param()宏
  7. 介绍一份数据分析报告
  8. 安装webpack和webpack打包(此文转自Henery)
  9. 使用代理服务器网速会变慢吗?
  10. POJ 3088 Push Botton Lock
  11. python3ide安卓版官网下载_Pydroid3官方版-Pydroid3最新版下载v4.01 - 7230手游网
  12. 记录 Spring Cloud GateWay 使用 路径与路由名字重复 出现的问题
  13. c 当前程序的语言,c语言实现获取macos当前的系统语言
  14. 【熬夜猛肝万字博文】学妹问我怎么入门 Javascript,百般盘问下我终于决定贡献出自己的 JavaScript入门笔记(三)
  15. Android System Server大纲之VibratorService
  16. win10完整Tensorflow-GPU环境搭建教程-附CUDA+cuDNN安装过程
  17. 聊天机器人:问答系统类型介绍
  18. jupyter lab 插件安装及必备插件
  19. 魔兽世界服务器名称修改,魔兽世界怀旧服新增6组服务器 新服务器名称一览
  20. 小米pad MI PAD 开发者选项、USB调试开启方式

热门文章

  1. python的parse用法_Python 里边的parser用法
  2. Python练习——二维数组中每行最大值和每行和
  3. 使用html2canvas.min.js将网页生成图片并打印(笔记记录)
  4. linux防火墙作用是什么,Linux防火墙操作1
  5. 11月需要重点关注的SCISSCIEI合集(超级全)
  6. 【2020算法练习一】笔试选择题 快手2020校园招聘秋招笔试--算法A试卷
  7. java毕设项目家电售后管理系统(附源码)
  8. 64位系统魔兽服务器不兼容,魔兽世界Win7下出现不兼容问题的解决办法
  9. 路灯控制器如何调节时间
  10. 如何高质量的度过大学四年?