Direction(方向)

microbit上有一个指南针。如果你曾经做过一个气象站,那么可以用它来计算风的方向。

Compass

指南针可使用内置模块compass。使用之前应该先校准,否则可能会读取错误数据。

注意:指南针校准会导致程序暂停运行,直到校准完毕。校准时,背部LED矩阵会显示小图片。

功能

microbit.compass.calibrate()

开始校准指南针,用户需要根据背部LED矩阵的图像显示,将图像旋转一圈。

microbit.compass.is_calibrated()

如果校准完毕返回True,否则返回False

microbit.compass.clear_calibration()

撤销校准,使指南针处于未校准状态。

microbit.compass.get_x()

读取X轴上的值,根据方向的调整,可能会得到正或负整数。

microbit.compass.get_y()

读取Y轴上的值,根据方向的调整,可能会得到正或负的整数。

microbit.compass.get_z()

读取Z轴上的值,根据方向的调整,可能会得到正或负的整数。

microbit.compass.heading()

给出指南针方向,从上面的读数,计算一个整数的范围从0到360,代表的角度,顺时针,北至0。如果指南针没有校准,那么这将调用校准。

microbit.compass.get_field_strength()

返回周围磁场大小的整数值。

它也可以告诉你北方向在哪个方向:

from microbit import *
compass.calibrate()

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

注意:

** 在阅读前必须校准指南针。否则可能会读取错误数据。该calibration()方法是一个有趣的小游戏,可以帮助设备在与地球磁场相关的地方运行程序。**

首先你需要校准,请将microbit倾斜,直到在显示屏的外边缘上有一圈红点。

该程序采用compass.heading()和使用一些数字通过一些算法(取整//和取模 %)计算出在屏幕上显示的时钟指针的数量,这样它就可以大概地指出北方。