首页 > 解决方案 > How does the step-counter from the samsung health app, count the steps?

问题描述

I know that when I want to use any of androids sensors, I have to register them and read their values via onSensorChanged().

If I am done with them, I unregister them to save power.

How come the step-counter in my Galaxy S7s health app is able to count steps?

I assume it's not e.g. the accelerometer, since the high power consumption of the sensor would drain my battery in hours.

标签: androidandroid-sensors

解决方案


我发现了一篇关于此的非常棒的文章,因为我前段时间也有同样的疑问。 https://www.explainthatstuff.com/how-pedometers-work.html

这是简短的版本

现代计步器的工作方式非常相似,但部分是电子的。打开一个,你会发现一个金属摆锤(一端有重物的锤子)通过一个细弹簧连接到电子计数电路中。通常电路是开路的,没有电流流过它。当您迈出一步时,锤子摆动并接触中心的金属触点,完成电路并允许电流流动。电流使电路通电并为您的步数增加一。当您完成该步骤时,锤子再次摆动(在弹簧的帮助下)并且电路断开,有效地重置计步器为下一步做好准备。计步器在 LCD 显示屏上显示您的步数;大多数会将步数转换为以英里或公里为单位的近似距离(或您的卡路里数)已烧毁)只需按一下按钮。请注意,在某些计步器中,锤摆电路的工作方式相反:它通常是关闭的,每一步都会使其暂时打开。

更复杂的计步器(包括欧姆龙制造的一些非常好的计步器)完全以电子方式工作,并且由于它们没有移动部件,因此往往更持久、更可靠、更准确。他们省去了摆动的摆锤,而是用两个或三个加速度计测量您的步数。这些微芯片以直角排列,可在您移动双腿时检测力的微小变化。由于加速度计通常内置在手机等小工具中,因此越来越普遍地发现这类东西也可以为您计算步数(例如,有很多适用于 iPhone 的计步器应用程序)。GPS卫星导航设备也可以计算出你走了多远或跑了多远,但它们是通过卫星信号计算而不是计算步数来做到的


推荐阅读