micro:bitの基板には、電子コンパスが搭載されています。

これを使えば、micro:bitで方位を調べることができます。

 

今回は、そのコンパス機能の動作確認を行いました。

今更感はあるけど、とある目的のためにどの程度の精度なのかを知りたかったのです。

 

 

少し前に、micro:bitのプログラミングを行うソフト「MakeCode for microbit」がアップデートされ、ブロックの種類が増えました

その中で、矢印のLED表示を出してくれるブロックが8方向分ありましたので、それを使ってみました。

 

 

micro:bitのコンパスは、北向きが0°として、東回りに360°となっています。

LEDの表示は、常に北向きに矢印が指すように表示を行います。

 

 

こんな感じで。

 

 

ぴったりその角度の時だけ表示するようでは、なかなか反応しませんでしたので、ある程度の範囲を持たせています。

8方向分なので、1方位につき45°

狙いの方位±22.5°の範囲で矢印を表示させるようにしました。

 

 

サンプルプログラムは下記のようになりました。

 

 

長いだけで、内容は非常に簡単ですね。

 

 

それでは、動作確認の結果をご覧ください!

 

 

くるくる回しても、スマホとmicro:bitが同じ方向(北)を指すことが確認できました!

このくらいの精度であれば、十分使えそうかな。

もっと精度を上げたければ、角度の範囲を絞り込むという手もありますね。

 

あと、磁石を近づけるとコンパスの表示がおかしくなります。

磁石の強さによっては、数十センチ離れていても影響を受けるので注意が必要です。

 

逆転の発想をすれば、迷いの森は磁石で作れる

 

 

結構使えそうなので、これで何か作ってみたいと思います。