北、南、東、西の方角を示す
概要
Micro:bitボードを水平に持ってUSBコネクタがある向きの方角をLEDディスプレイに表示します。Micro:bitに搭載されている地磁気センサが方角を検出し、LEDディスプレイに北(N)/南(S)/東(E)/西(W)を表示します。
関数一覧
地磁気センサの値を読込む関数を使います。
compass.heading()
コンパスの方位を0〜360の範囲の整数を出力します。北を0として時計回りに度数で表します。
プログラム
プログラムを以下に示します。
from microbit import * # コンパスの初期化 compass.clear_calibration() while not compass.is_calibrated(): compass.calibrate() sleep(100) # LEDディスプレイの初期化 display.clear() # 方位をLEDディスプレイに表示 while True: sleep(100) direction_num = compass.heading() if direction_num > 45 and direction_num <= 135: display.show("E") elif direction_num > 135 and direction_num <= 225: display.show("S") elif direction_num > 225 and direction_num <= 315: display.show("W") else: display.show("N")
結果
Micro:bitが方角を示していることを確認できました。ただ、なぜか東の方角が正しく向いていないようです。 ドローンにも地磁気センサが使われているそうですが、なぜ必要なのかなんとなくわかったような気がします。