【マイクロビット×メイクコード】コンパス(地磁気センサー)を使った簡単なプログラムを作ってみよう

マイクロビット(micro:bit)には、方角磁力じりょくはかることができるコンパス(地磁気ちじきセンサー)がついています。

この記事ではコンパス(地磁気ちじきセンサー)の機能きのうと、コンパスを使った簡単かんたんなプログラムを紹介しょうかいします。

方位ほうい磁針じしんとほぼ同じ機能きのうなのでイメージがつきやすいと思います。

スポンサーリンク

コンパス(地磁気センサー)は方角や磁力を測ることができる

加速度センサーとコンパス

マイクロビットの裏面うらめん、「COMPASS」と書いてある横の小さなチップが、コンパス(地磁気ちじきセンサー)です。地球の磁場じば検知けんちし、方角磁力じりょくはかことができます。

画像がぞうでは、加速度かそくどセンサー(ACCELEROMETER)と同じチップにありますが、古いものは別々べつべつになっています。どちらの場合でも機能きのうは同じです。

「方角(°)」ブロックは方角、磁力じりょく(μT)」ブロックは磁力じりょくの大きさを取得しゅとくできます。

方角ブロック

「方角(°)」ブロック

「方角(°)」ブロックは、北を基点きてんとして、時計回とけいまわりに、0~359のあたい取得しゅとくできます。入力カテゴリにあります。

北は0度、東は90度、南は180度、西は270度です。

たとえば、磁気じきセンサーが270度を取得しゅとくした場合は、西を向いていることになります。

磁力ブロック

磁力を取得

磁力じりょく(μT)」ブロックは、磁力じりょくの大きさを取得しゅとくします。入力カテゴリのそのほかにあります。

単位たんいμT(マイクロテスラ)で、磁場じばの方向におうじてプラスやマイナスのあたいになり、金属きんぞく磁石じしゃくがあると大きなしめします。

  • x : xじく(南北)の磁力じりょくの大きさを取得しゅとく
  • y : yじく(東西)の磁力じりょくの大きさを取得しゅとく
  • z : zじく(上下)の磁力じりょくの大きさ取得しゅとく

 

身の回りで使われている例

地図アプリ

  • カーナビやスマートフォンの地図アプリ
    自分が向いている方角が分かる機能きのう
    ポケモンGOなどのゲームでも使われています。
  • 金属きんぞく探知機たんちき
スポンサーリンク

今回のプログラム:なんちゃって金属探知機

なんちゃって金属探知機

地球の表面の地磁気ちじきはおよそ35~70μTぐらいあるそうです。

もし近くに磁石じしゃく金属類きんぞくるいがあれば、そのあたいは大きくなります。

この性質せいしつを使って、なんちゃって金属きんぞく探知機たんちきを作りました。

磁力じりょくが70μT以下いかの場合、磁力じりょくをグラフにして表示ひょうじし、マイクロビットを金属きんぞくに近づけた時、LEDに「おばけ」のアイコンを表示ひょうじします。

 

MakeCodeエディターでプログラミング

MakeCode(メイクコード)エディターの画面を開いて、実際じっさいにプログラミングしてみましょう。

MakeCodeエディターの基本的きほんてきな使い方は、「【マイクロビット】MakeCode(メイクコード)エディターの使い方」にまとめています。

プログラム

金属探知機プログラム

 

変数ブロック

変数「磁力」

磁力じりょく変数へんすうです。変数へんすうのカテゴリで変数へんすう追加ついかする」ボタンをクリックして作ってください。

変数へんすうあたいえる変数へんすう~を~にする」ブロックも変数へんすうのカテゴリにあります。

変数へんすうとは、データを一時的いちじてきおぼえておくための入れ物のことです。
プログラムで人間が分かるように名前をつけます。

 

 

磁力を取得するブロック

磁力を取得

磁力じりょく(μT)」ブロックで磁力じりょくの大きさを取得しゅとくします。入力カテゴリのそのほかにあります。

今回は、磁力じりょくの大きさを知りたいだけで、方向をしめすプラスかマイナスかは関係かんけいありません。

なので、磁力じりょく絶対値ぜったいちブロックを使って絶対値ぜったいちにしましょう。絶対値ぜったいちブロックは、計算のカテゴリにあります。

プラス(+)やマイナス(-)といった、数の符号ふごうをとった数字の部分を絶対値ぜったいちといいます。
たとえば、+3の絶対値ぜったいちは3、-7の絶対値ぜったいちは7になります。

 

もし~ならブロック

もし磁力が70より大きかったら

地球の表面の地磁気ちじきはおよそ35~70μTぐらいです。

近くに金属きんぞくがあれば、磁力じりょくあたいは大きくなるので磁力じりょくが70より大きい」時、「おばけ」のアイコンを表示ひょうじするようにします。

「もし~なら」ブロックと「○○>□□」ブロックなど、あたいをくらべるブロックは論理ろんりのカテゴリに、「アイコンを表示ひょうじブロックは基本きほんのカテゴリにあります。

 

「棒グラフを表示する」ブロック

棒グラフを表示

でなければ(磁力じりょくが70以下いかの場合)、磁力じりょくあたいぼうグラフで表示ひょうじしてみましょう。

ぼうグラフを表示ひょうじする」は、のLEDのカテゴリにあります。

グラフにするあたい最大さいだい設定せっていし、25のLEDを目盛めもりに見立てて表示ひょうじします。(ひと目盛めもりの大きさは最大さいだいの25分の1です。)

数値すうち表示ひょうじするより探索たんさくしている感じがでますよ!

 

実機でテストしてみよう

プログラムをマイクロビットに転送してテストしましょう。

磁力じりょく(μT)」のブロックは、シミュレーターで確認かくにんすることができません。

金属きんぞくに近づけてみてください。フライパンやハサミ、スピーカーなどがオススメです。

金属に近づけてテストする

LEDに「おばけ」が表示ひょうじされたでしょうか。

 

方角ブロックはキャリブレーション(較正)が必要

「方角(°)」ブロックを使用している場合、コンパスのキャリブレーション(較正こうせい)が必要ひつようです。

キャリブレーション(較正(こうせい))とは、

測定器そくていき標準ひょうじゅん通りのあたいるために、標準器ひょうじゅんきなどを用いてその機器ききかたよりを計測けいそくしたり、正しいあたいになるよう調整したりすること。(IT用語辞典ようごじてんよりより)

つまり、コンパスが正しく動くように調整することです。

マイクロビットにプログラムをんだ直後、LED画面に「TILT TO FILL SCREEN」と表示ひょうじされるので、マイクロビット本体をグルグルかたむけて、LEDをすべて点灯てんとうさせてください。

スマイルマークが表示ひょうじされたらキャリブレーションは終了しゅうりょうです。

 

まとめ

コンパス(地磁気ちじきセンサー)の機能きのうと、コンパスを利用りようした簡単かんたんなプログラムを紹介しょうかいしました。

MakeCodeエディターのホーム画面にあるチュートリアル(ツール)で、「方角」ブロックを使ったコンパスを作ることができます。

こちらも作ってみることをおススメします。

 

ほかのマイクロビットの機能きのうもまとめています。よかったらこちらもごらんください。

タイトルとURLをコピーしました