随着技术的发展,现在智能手机和智能手表已经走进千家万户,所以大家对于计步器可能不陌生,计步器是一种用于计算行走步数的装置。它通常是一个小型电子设备,可以佩戴在身体上,如腕带、腰带或口袋中。计步器通过感应人体运动的震动或加速度来计算步数。一般来说,计步器还可以提供其他相关的运动数据,如距离、消耗的卡路里和活动时间等。计步器被广泛应用于健身、运动和健康管理领域,帮助人们记录和监测自己的运动量,激励他们保持积极的生活方式。随着技术的发展,现代计步器通常与智能手机或其他电子设备相连,可以通过应用程序进行数据同步和分析。
如果是下面这种,我相信大家都喜欢戴着玩玩。
可是如果是下面这种的呢?看起来也不错,标准的DIY产品
为什么Micro:bit可以实现这个功能?
原来是Micro:bit采用的是Freescale MMA8653FC 三轴加速度传感器,I2C接口与外部通信,10位ADC精度,可设置量程为±2g,±4g,±8g,数据最大更新速率为800Hz。
当Micro:bit处于静止或匀速运动状态时,加速计仅检测到重力加速度;将Micro:bit轻微甩动,加速计检测到甩动的加速度远小于重力加速度,可忽略不计,因此,在使用Micro:bit过程中,主要是检测当姿态变化时,重力加速度在x,y,z轴上的变化,并在此基础上应用。
Step 1 设置一个变量"step"用于存储和显示步数,并赋值0
Step 2 在无限循环中显示变量"step"
Step 3 在振动模块中,让变量"step"以步长1叠加
Step 4 你有注意到每次显示数字的时候,会出现滞后和延迟,那么需要在开机模块中,添加停止动画
附上Javascript的代码:
input.onGesture(Gesture.Shake, function () {step += 1
})
let step = 0
led.stopAnimation()
basic.forever(function () {basic.showNumber(step)
})
附上Python的代码:
def on_gesture_shake():global stepstep += 1
input.on_gesture(Gesture.SHAKE, on_gesture_shake)step = 0
led.stop_animation()def on_forever():basic.show_number(step)
basic.forever(on_forever)