【micro:bit v2】 内臓 コンパスを使う

LESSON 008

  コンパスを使いこなす

 micro:bit で使用されている 3 軸デジタル線形加速度センサーと 3 軸デジタル磁気センサー LSM303AGRNordic(下図の赤線部 )は±2g/±4g/±8g/±16g の直線加速度フル スケールと、±50 ガウスの磁場ダイナミック レンジを備えています
    

 初めてコンパスを使うときには、調整のために地磁気センサーのキャリブレーション(較正)が必要です。
 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())   
        

方位を文字(N・E・S・W)で表す
micro:bit の上部がどの方向を示してかを文字で表す。
if   else 文を使います。
    
論理演算子 を用いる事で式をコンパクトにする事が出来ます。
   
 
方位は
              北  0~ 45    と 315~360
              東    45  <  x  <  135
              南  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')       

     

目次