Skip to content

活动

灵敏计步器

中级 | MakeCode, Python | LED显示器, 加速计 | 乘法, 产品设计, 人体, 传感器, , 性能工具, 测量

第 1 步:制作

它是什么?

你可以根据自己的步行方式定制步数计数器,从而使步数更加准确。

micro:bit绑在鞋子上

学习目标

  • micro:bit如何收集数字加速计数据
  • 如何对传感器数据设置阈值来触发事件,如增加计数器数值

工作原理

  • 计步器低能耗计步器项目使用“shake”动作来计算步数。 “shake”动作通过加速度传感器的几个读数来判定micro:bit是否被晃动过了。
  • 你可能会发现,“shake”动作不一定会在你迈开每一步时被触发,或者又太容易被触发,这就导致了记录的步数不准确。
  • 为了使测量的步数更准确,本程序不再使用“shake”动作,而是采用加速计的数字数据来判定你是否迈出了一步。如果是,便将steps变量值加1。
  • 如果加速大于1500, 那么steps变量值加1,并将当前的步数显示在LED显示屏输出上。 1500是阈值,仅当移动幅度到达这个点值时,才会触发步数的增加。
  • 你可能需要更改数字1500来使得计步器更准确。不过,可以自己决定要使用的阈值,并非一定要使用micro:bit的设计者们预先在“shake”动作中设定的阈值。
  • 更改阈值使其更适合你的过程称为校准
  • 注意,当micro:bit处于静止时,加速计给出的读数为1000左右。 这应为地球对micro:bit的重力。

所需材料

  • micro:bit或者是MakeCode模拟器
  • MakeCode或者Python编辑器
  • 电池盒(选配)
  • 能将micro:bit固定在鞋子或腿上的东西——线或魔术贴。

第 2 步:编程

1from microbit import *
2steps=0
3
4while True:
5    if accelerometer.get_y() > 1500:
6        steps += 1
7        display.scroll(steps)
8

第 3 步:完善

  • 修改程序,使得仅当按下按键A时才显示步数,以此来延长电池的使用时间。
  • 修改程式,以便在按下按钮B时,将计数器设置回0。
  • 测量你的步幅,并乘以micro:bit上获得的步数,即可计算出你行走的距离。
  • 加速计可以测量3个维度(X、Y和Z轴)的作用力。 你可以修改代码以选择要测量的轴,具体取决于固定micro:bit的方式——是在腿上还是鞋子上。
micro:bit和X、Y、Z轴,其中X轴表示左右,Y轴表示上下,Z轴表示前后。