探测方向

BBC micro:bit上有一个电子罗盘。如果你需要设立气象站,可以用它来测量风向。

电子罗盘

它也可以像这样告诉你朝北的方向:

from microbit import *

compass.calibrate()

while True:
    needle = ((15 - compass.heading()) // 30) % 12
    display.show(Image.ALL_CLOCKS[needle])

注解

在使用之前,需要校准电子罗盘。 若不校正,则测量结果无效。 calibration (校准)方法会运行一个有趣的小游戏来帮助找出该设备相对于地球磁场所在的位置。

要校准指南针,需将micro:bit倾斜,直到它在显示屏的外缘绘制出一圈有效像素。

这个程序采用了 compass.heading 并用了一些简单却巧妙的数学,利用 floor division //modulo %,计算出在屏幕上显示的时针的数值,使其大致指向北。