コンパス¶
このモジュールを使うと内蔵の電子コンパスにアクセスできます。使用する前にコンパスをキャリブレーションする必要があります。キャリブレーションを行わないと、検知を誤る可能性があります。
警告
コンパスをキャリブレーションすると、キャリブレーションが完了するまでプログラムが一時停止します。キャリブレーションは、デバイスを回転させてLEDディスプレイに円を描く小さなゲームとなっています。
関数¶
-
microbit.compass.
calibrate
()¶ キャリブレーション処理を開始します。指示メッセージがユーザにスクロールで示された後、LEDディスプレイ上に円を描くようデバイスを回転させます。
-
microbit.compass.
is_calibrated
()¶ キャリブレーションが成功したかどうかにより
True
またはFalse
を返します。
-
microbit.compass.
clear_calibration
()¶ キャリブレーションを取り消し、コンパスをキャリブレーションされていない状態にします。
-
microbit.compass.
get_x
()¶ x
軸の磁力を得ます。磁力の方向に応じて正または負の整数値になります。
-
microbit.compass.
get_y
()¶ x
軸の磁力を得ます。磁力の方向に応じて正または負の整数値になります。
-
microbit.compass.
get_z
()¶ x
軸の磁力を得ます。磁力の方向に応じて正または負の整数値になります。
-
microbit.compass.
heading
()¶ 3軸の磁力から計算された方位を返します。値は時計回りの角度を示す 0 から 360 までの整数で、0 は北となります。コンパスをキャリブレーションしていなかった場合には
calibrate
を呼び出します。
-
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])