【マイクロビット】コンパスを使った簡単なプログラムを作ってみよう

マイクロビット(micro:bit)には
方位や磁力を測ることができる
コンパス(地磁気センサー)という機能がついています。

小学校の頃に使った方位磁針とほぼ同じ
機能なのでイメージがつきやすいと思います。

今回はマイクロビットのコンパスの機能と、
コンパスセンサーを利用した簡単なプログラム
なんちゃって金属探知機を紹介します。

 

コンパス(地磁気センサー)とは

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

マイクロビットの裏面、
「COMPASS」と書いてある横の
小さなチップがコンパス(地磁気センサー)です。

コンパスは、地球の磁場を検知し、
方位磁力を測ることができます。

画像では、加速度センサー(ACCELEROMETER)と
同じチップにありますが、古いものは別々になっています。

どちらの場合でも機能は同じです。

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

地図アプリ

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

 

スポンサーリンク

今回作ったプログラム ~なんちゃって金属探知機~

なんちゃって金属探知機

地球の表面の地磁気はおよそ35~70μTぐらいあるそうです。
もし近くに磁石や金属類があれば、その値は大きくなります。

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

磁力が70μT以下の場合、
磁力の値をグラフにして表示し、
マイクロビットを金属に近づけた時、
LEDに「おばけ」のアイコンを表示します。

 

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

MakeCodeエディターの画面を開いて
実際にプログラミングしてみましょう。

MakeCodeエディターの基本的な使い方は
下の記事をご覧ください。

 

プログラム

プログラムの内容は下の画像のようになります。

金属探知機プログラム

変数ブロック

変数「磁力」

「磁力」は変数です。
変数のカテゴリで「変数を追加する」ボタンを
クリックして作ってください。

変数の値を変える「変数~を~にする」ブロックも
変数のカテゴリにあります。

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

 

磁力を取得するブロック

磁力を取得

「磁力(μT)」ブロックは磁力の大きさを取得します。

単位はμT(マイクロテスラ)で、
磁場の方向に応じてプラスやマイナスの値になります。

金属や磁石があると大きな値を示します。

  • x : x軸(南北)の磁力の大きさを取得。
  • y : y軸(東西)の磁力の大きさを取得。
  • z : z軸(上下)の磁力の大きさ取得。

「磁力(μT)」ブロックは、
入力カテゴリのその他にあります。

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

磁力の値を「絶対値」ブロックを使って絶対値にしましょう。

「絶対値」ブロックは、計算のカテゴリにあります。

もし~ならブロック

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

地球の表面の地磁気はおよそ35~70μTぐらいで
近くに金属があれば磁力の値は大きくなるので
「磁力が70より大きい」時、
「おばけ」のアイコンを表示するようにします。

「もし~なら」ブロックと
「○○>□□」ブロックなど
値をくらべるブロックは論理のカテゴリに、
「アイコンを表示」ブロックは基本のカテゴリにあります。

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

棒グラフを表示

でなければ(磁力が70以下の場合)、
磁力の値を棒グラフで表示してみましょう。

数値を表示するより探索している感がでますよ♪

「棒グラフを表示する」は、のLEDのカテゴリにあります。

グラフにする「値」「最大値」を設定し、
25個のLEDを目盛りに見立てて表示します。
(ひと目盛りの大きさは最大値の25分の1です。)

 

実機でテストしてみよう

キャリブレーション(較正)する

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

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

マイクロビットにプログラムを書き込んだ直後、
コンパスのキャリブレーション(較正)が必要になります。

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

測定器で標準通りの値を得るために、
標準器などを用いてその機器の偏りを計測したり、
正しい値になるよう調整したりすること。(IT用語辞典より)

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

LED画面に「TILT TO FILL SCREEN」と表示されるので、
マイクロビット本体をグルグル傾けて、
LEDをすべて点灯させてください。

スマイルマークが表示されたらキャリブレーションは終了です。

金属に近づけてみる

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

キャリブレーションが終了したら、
実際に金属に近づけてみましょう。
フライパンやハサミ、スピーカーなどがオススメです。

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

まとめ

コンパス(地磁気センサー)の機能と、
コンパスを利用した簡単なプログラムを紹介しました。

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

 

 

 

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