コンパス

このモジュールを使うと内蔵の電子コンパスにアクセスできます。使用する前にコンパスを調整する必要があります。調整しておかないと検知を誤る可能性があります。

警告

コンパスの調整を開始すると、調整が完了するまでプログラムが一時停止します。調整は、デバイスを回転させて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()

3軸の磁力から計算された方位を返します。値は時計回りの角度を示す 0 から 360 までの整数で、0 は北となります。

microbit.compass.get_field_strength()

デバイスのまわりの磁場の強さを示す整数値をナノテスラで返します。

サンプルコード

"""
    compass.py
    ~~~~~~~~~~

    方位磁石の作成。

    まず最初にコンパスを調整する必要があります。
    コンパスは内蔵の時計イメージを使って針の位置を表示します。

"""
from microbit import *


# 調整の開始
compass.calibrate()

# 針が(大まかに)正しい方向を向くようにします
while True:
    sleep(100)
    needle = ((15 - compass.heading()) // 30) % 12
    display.show(Image.ALL_CLOCKS[needle])