micro:bitの基板には、電子コンパスが搭載されています。
これを使えば、micro:bitで方位を調べることができます。
今回は、そのコンパス機能の動作確認を行いました。
今更感はあるけど、とある目的のためにどの程度の精度なのかを知りたかったのです。
少し前に、micro:bitのプログラミングを行うソフト「MakeCode for microbit」がアップデートされ、ブロックの種類が増えました。
その中で、矢印のLED表示を出してくれるブロックが8方向分ありましたので、それを使ってみました。
micro:bitのコンパスは、北向きが0°として、東回りに360°となっています。
LEDの表示は、常に北向きに矢印が指すように表示を行います。
こんな感じで。
ぴったりその角度の時だけ表示するようでは、なかなか反応しませんでしたので、ある程度の範囲を持たせています。
8方向分なので、1方位につき45°
狙いの方位±22.5°の範囲で矢印を表示させるようにしました。
サンプルプログラムは下記のようになりました。
長いだけで、内容は非常に簡単ですね。
それでは、動作確認の結果をご覧ください!
くるくる回しても、スマホとmicro:bitが同じ方向(北)を指すことが確認できました!
このくらいの精度であれば、十分使えそうかな。
もっと精度を上げたければ、角度の範囲を絞り込むという手もありますね。
あと、磁石を近づけるとコンパスの表示がおかしくなります。
磁石の強さによっては、数十センチ離れていても影響を受けるので注意が必要です。
逆転の発想をすれば、迷いの森は磁石で作れる。
結構使えそうなので、これで何か作ってみたいと思います。