. Micro: bitでSTEM教育: 地磁気センサーを使ってみよう | STEMSHIP
Micro: bitでSTEM教育: 地磁気センサーを使ってみよう | STEMSHIP
Micro: bitでSTEM教育: 地磁気センサーを使ってみよう | STEMSHIP

micro:bitでSTEM教育:地磁気センサーを使ってみよう

キャリブレーションをするために、新たにブロックを使用する必要はありません。地磁気センサを使用したプログラムをダウンロードして起動すると、自動でキャリブレーションが呼び出されます。 LEDマトリクスに、”TILT TO FILL SCREEN”とスクロール表示されていれば、それがその画面です。 その後、LEDが2個展等下画面になり、micro:bitを傾けて、全てのLEDを点灯させれば完了です。完了したときは、スマイルマークが表示されます。

micro:bitの地磁気センサのキャリブレーション

どんな物が作れる?

プログラミング

1.磁気センサの計測値を取得 磁気センサの計測値は、「方角(°)」「磁力(μT)」の2種類あります。 「方角(°)」 は、ツールボックスの「入力」の中にあります。「磁力(μT)」は、「入力→その他」の中にあります。 方角は、北を0°、東を90°、南を180°、西を270°という値で取り扱います。 磁力(μT) は、μT(マイクロテスラ)という単位で扱われます。1万ガウスが1テスラなので、地磁気0.45ガウスは、45マイクロテスラとなります。それぞれの計測値を変数に取り込むため、ツールボックスの「変数」から変数追加をします。

2.計測値をLEDに表示する Aボタンを押したときに、方角を数字でLEDで表示します。「論理」から「もし~なら」と、「入力」から「ボタンAが押されている」を組み合わせて、その中に「基本」の「文字列を表示」で、方角を表示します。 同様に、Bボタンを押したときは、3軸の磁力と絶対値を表示します。文字列をつなげて表示するブロックは、「高度なブロック→文字列」の中にあります。

3.方角を矢印で表示する 方位磁針と同じように、LEDマトリクスに矢印を表示させ、その矢印が北(0°)を向くようにします。矢印のパターンは8方向とします。したがって、1つの角度に割り当てる角度は、360°÷8=45°となります。例えば、東(90°)の矢印を表示する範囲は、地磁気センサの方角が90°±22.5°となりますので、 「方角(変数compass)≧ 67.5 かつ 方角 (変数compass) let compass = 0 let X = 0 let Y = 0 let Z = 0 let Abs = 0 basic.forever(function () < compass = input.compassHeading() X = input.magneticForce(Dimension.X) Y = input.magneticForce(Dimension.Y) Z = input.magneticForce(Dimension.Z) Abs = input.magneticForce(Dimension.Strength) if (input.buttonIsPressed(Button.A)) < basic.showString("" + compass) >if (input.buttonIsPressed(Button.B)) < basic.showString("" + X + Y + Z + Abs) >if (compass >= 22.5 && compass < 67.5) < basic.showLeds(` . # # # # . . . # # . . # . # . # . . # # . . . . `) >else if (compass >= 67.5 && compass < 112.5) < basic.showLeds(` . . # . . . . . # . # # # # # . . . # . . . # . . `) >else if (compass >= 112.5 && compass < 157.5) < basic.showLeds(` # . . . . . # . . # . . # . # . . . # # . # # # # `) >else if (compass >= 157.5 && compass < 202.5) < basic.showLeds(` . . # . . . . # . . # . # . # . # # # . . . # . . `) >else if (compass >= 202.5 && compass < 247.5) < basic.showLeds(` . . . . # # . . # . # . # . . # # . . . # # # # . `) >else if (compass >= 247.5 && compass < 292.5) < basic.showLeds(` . . # . . . # . . . # # # # # . # . . . . . # . . `) >else if (compass >= 292.5 && compass < 337.5) < basic.showLeds(` # # # # . # # . . . # . # . . # . . # . . . . . # `) >else < basic.showLeds(` . . # . . . # # # . # . # . # . . # . . . . # . . `) >>)

まとめ

Reader Interactions

コメント
  1. taiyo kanei says 2021年5月20日 at 10:51 AM
キャリブレーションの方法が分かりません。LEDが上記のような表示になりません。
  • STEMSHIP says 2021年7月13日 at 8:29 AM
学校などでmicrobitを共有して使用している場合は、すでに誰かがキャリブレーション実施済みかもしれません。 地磁気センサを使用したプログラムが期待通りの動作をしていれば、気にする必要はありません。 コメントを残す コメントをキャンセル

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください。

最初のサイドバー

CONTACT US More to See Arduinoベースのセンサノード:XBeeデータ収集ノードの製作 Arduinoベースのセンサノード:Arduinoを使った温度センサの作製 XBeeモジュールとBMP280センサを使用してデータ収集する XBeeモジュールでMicroPythonを使ってセンサを読み取る XBeeモジュールでセンサを読み取る:センサノードの設定と測定 カテゴリー Tags

Footer

最近の投稿
  • Arduinoベースのセンサノード:スケッチ(プログラム)の作製
  • Arduinoベースのセンサノード:XBeeデータ収集ノードの製作
  • Arduinoベースのセンサノード:Arduinoを使った温度センサの作製
  • XBeeモジュールとBMP280センサを使用してデータ収集する
  • XBeeモジュールでMicroPythonを使ってセンサを読み取る
タグ Search 2026年3月 月 火 水 木 金 土 日 1 2345678 9101112131415 16171819202122 23242526272829 3031

Copyright © 2026 · STEMSHIP.COM

📎📎📎📎📎📎📎📎📎📎