フォロのタコ足制御のために電子コンパスを使おうと思ったが、毎回キャリブレーションを要求されてやっとられん。ことが判明
何とか回避できないか探していたら、micro:pythonでも電子コンパスを扱えることに気づいた。
サイトを見ると、キャリブレーションが独立したクラスで提供されている。
ということは、回避できるのでは?
回避すると正しい磁北は判らないのだが、フォロを動かすのに正確性は必要ない。
同じ向きで同じ値さえ得られれば、南極を向いていようが無関係なのだ。
micro:bit向けのマイクロパイソンはMUエディタで扱える。
そのうちmicro:pythonへ移行するつもりだったので、速攻インストール
64bit版を選択
起動したら、どのターゲットにするかを聞いてくる。
標準Python3も使えるようです。
今回はマイクロビットを選択
お約束のハローワールド
だが、書き込みエラーが頻発 orz
2回目の書き込みだとちゃんと書かれるのだが、一回目は必ず失敗
なんでだろ~ なんでだろ~
まあ、動くには動くんですが・・
-----------------------
とりあえずコンパス描画を入れてみた。
from microbit import *
# 調整の開始
compass.calibrate()
while True:
sleep(100)
needle = ((15 - compass.heading()) // 30) % 12
display.show(Image.ALL_CLOCKS[needle])
今度は「Hello」が表示されていた画面が転送が終わると突如切り替わって、キャリブレーション画面になった。
おおお動いておるぞ。
compass.calibrate() をコメントアウトする。
毎回補正無しで動き出した! が・・・
どうも様子がおかしい。
基盤を垂直に近くして立てると北を指すはずが真南を指す。
あれこれやっているうちに、コメントアウトしている「補正画面」が出だした。
どうも、勝手にキャリブレーションが必要だと判断したようである。
ちっ ダメか。