Компас

В микроконтроллер Microbit также встроен датчик компас.

Программа указывает на север:

from microbit import *

compass.calibrate()

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

Примечание

Перед использованием компас необходимо откалибровать. Если этого не сделать итоговые результаты будут ошибочные. Функция calibration выводит пиксель и Вы должны вращать микроконтроллер, пока не загорятся все.

Функция``compass.heading`` принимает показание датчика и передает его в математическое выражение, которое преобразует его в число от 1 до 12. Далее число передается в массив Image.ALL_CLOCKS и преобразуется в стрелку.