玩转硬件之Micro:bit的玩法(三)——计步器

随着技术的发展,现在智能手机和智能手表已经走进千家万户,所以大家对于计步器可能不陌生,计步器是一种用于计算行走步数的装置。它通常是一个小型电子设备,可以佩戴在身体上,如腕带、腰带或口袋中。计步器通过感应人体运动的震动或加速度来计算步数。一般来说,计步器还可以提供其他相关的运动数据,如距离、消耗的卡路里和活动时间等。计步器被广泛应用于健身、运动和健康管理领域,帮助人们记录和监测自己的运动量,激励他们保持积极的生活方式。随着技术的发展,现代计步器通常与智能手机或其他电子设备相连,可以通过应用程序进行数据同步和分析。

如果是下面这种,我相信大家都喜欢戴着玩玩。

玩转硬件之Micro:bit的玩法(三)——计步器_第1张图片

可是如果是下面这种的呢?看起来也不错,标准的DIY产品

玩转硬件之Micro:bit的玩法(三)——计步器_第2张图片

为什么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

玩转硬件之Micro:bit的玩法(三)——计步器_第3张图片

Step 2 在无限循环中显示变量"step"
玩转硬件之Micro:bit的玩法(三)——计步器_第4张图片
Step 3 在振动模块中,让变量"step"以步长1叠加

玩转硬件之Micro:bit的玩法(三)——计步器_第5张图片

Step 4 你有注意到每次显示数字的时候,会出现滞后和延迟,那么需要在开机模块中,添加停止动画

玩转硬件之Micro:bit的玩法(三)——计步器_第6张图片

附上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 step
    step += 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)

你可能感兴趣的:(硬件,经验分享,单片机)