地磁気センサーの活用


R1.12.20 コンパスを作ってみた

 M5StackGrayの地磁気センサーがBMM150に変わっていて途方に暮れていたのだが、github>M5Stack>examples>BasicsにEeeeBinさんがbmm150のサンプルを追加してくださっていた。ありがとう! 早速これを試してみる。方位磁針、コンパスを作りたかったのだ。

 書き込んでみると、下のようになった。

MAG X・MAG Y・MAG Zではなく、HEAD Angleが必要なので、スケッチの中のhead_dirに着目する。ただ、head_dirを算出するには、MAG X・MAG Y・MAG Zが必要だろうから、それらにも注目。

 bmm150のスケッチから、必要ないものを消して読みやすいようにしておく。head_dirの数字だけでは意味がないので、アナログ時計の盤面スケッチを参考にする。求めた角度から、M5Stackの画面のXY座標に展開するには、三角関数を使うことになる。ラジアンで計算することに注意。ただ、head_dirが東側は+、西側が−(つまり、0〜180と0〜−180)になってくれていたので、余分な変換が不要となりそのまま代入すれば使えたのは幸いだった。

 北を指すはずの赤線がSを差しているが、ノートパソコンのキーボード上に置いたのでこうなっているようだ。周辺の環境に影響される。また、反対側にも白い線を描いた方が、もっと磁針らしく針を描いた方がいいのだろうが、面倒なのでやめた(^^;)

 取り敢えずは使える。なお、日本の中でも偏角は様々で、私が使うところはおおむね7〜8度の西偏なので、スケッチの中では7.5度で修正してみた。まあ、これを持って登山・探検をするわけではないので十分かな。