LESSON 008
コンパスを使いこなす
micro:bit で使用されている 3 軸デジタル線形加速度センサーと 3 軸デジタル磁気センサー LSM303AGRNordic(下図の赤線部 )は±2g/±4g/±8g/±16g の直線加速度フル スケールと、±50 ガウスの磁場ダイナミック レンジを備えています
初めてコンパスを使うときには、調整のために地磁気センサーのキャリブレーション(較正)が必要です。
LED画面に「TILT TO FILL SCREEN」と表示され、マイクロビット本体をグルグル回※してLED画面をすべて点灯させ「うれしい顔」イメージが現れます。時間内に全てのLEDが点灯しなかった場合、メッセージが流れ全てのLEDが点灯するまで続きます。
全てのLEDが点灯後、コンパスが正確な測定値を開始します。
※ フライパンに油を垂らして全面にいきわたるように大きくゆっくりフライパンを動かすイメージです。
コンパスは下記の様になります。
初めてコンパスを使うときには、調整のために地磁気センサーのキャリブレーション(較正)が必要です。
LED画面に「TILT TO FILL SCREEN」と表示され、マイクロビット本体をグルグル回※してLED画面をすべて点灯させ「うれしい顔」イメージが現れます。時間内に全てのLEDが点灯しなかった場合、メッセージが流れ全てのLEDが点灯するまで続きます。
全てのLEDが点灯後、コンパスが正確な測定値を開始します。
※ フライパンに油を垂らして全面にいきわたるように大きくゆっくりフライパンを動かすイメージです。
コンパスは下記の様になります。
方角を磁北からの度数を変数 X に代入し、明るさの値を表示する。
MakeCode
Python Editor スケッチ《 Mtest020》
from microbit import *
while True:
x = compass.heading()
display.scroll(x)
解説
x = compass.heading()
方角を磁北からの度数を X に代入
2行では、
x = compass.heading()
display.scroll(x)
1行でも可
display.scroll(compass.heading())
micro:bit の上部がどの方向を示してかを文字で表す。
if else 文を使います。
if else 文を使います。
論理演算子 を用いる事で式をコンパクトにする事が出来ます。
方位は
北 0~ 45 と 315~360
東 45 < x < 135
南 135 < x < 225
西 225 < x < 315
南 135 < x < 225
西 225 < x < 315
MakeCode
Python Editor スケッチ《 Mtest021》
from microbit import *
while True:
x = compass.heading()
if x < 45 or x>=315:
display.show('N')
elif x > 45 and x <= 135:
display.show('E')
elif x > 135 and x <= 225:
display.show('S')
else:
display.show('W')
リンク
○ micro:bit v2の内臓 コンパスはのキャリブレーション後 25個のLEDが点灯後コンパスが使えます。逆に言えばLEDが全て点灯しないとコンパスの機能を使うプログラムは動作しません。キャリブレーションのメッセージが流れてもmicro:bitを動かさなければ多少LEDが点くだけでLEDの点灯は増えません。メッセージが流れ始めたらmicro:bitを動かせばば、早く全てのLEDは点灯させることが出来ます。
○ コンパスの機能を使う時、鉄板が近くにあると誤動作の原因になります。ワンタッチ電池ボックス TFW-BT5(下図)のmicro:bitを載せてコンパスの機能を使うと誤動作の原因になります。
○ micro:bit を 学ぶ上で書籍やWebpageを参考に作っていますが、私なりに噛み砕いて書いているつもりですが、判らない点がありましたら連絡下さい。