日本でも2020年度からプログラミング教育が開始され、micro:bitへの注目度が高まっています 。今回はmicro:bitの地磁気センサーを使って、友だちや親子で一緒に遊べる宝探しゲームを作ります。
micro:bitで宝探しゲームを作る
地磁気センサーを使ってゲームを作ってみよう
「micro:bit(マイクロビット)」は、イギリスのBBC(英国放送協会)が中心となって情報教育向けに開発された小型のコンピューターです。今回はmicro:bitの地磁気センサーに着目したゲームを作ってみます。micro:bitのメリットは、Microsoft提供の「MakeCodeエディター」を使って、ブロックを用いた初歩的なプログラミングが組めることです。難しい言語を使わないので、プログラミングに詳しくない人でも馴染みやすく、親子で一緒に作ってみるのもいいでしょう!
こうしたメリットを活かして、MakeCodeエディターをベースに、micro:bitを使った宝探しゲームを作ります。では、今回の完成イメージです。段ボールや厚紙にマス目を書いてください。
磁石を用意します。磁石は黒い色のフェライト磁石がおススメです。
磁石を先ほどのマス目を書いた段ボールの下に仕込みます。
micro:bit は地磁気センサーで磁石に反応できるようにします。
仕かけた磁石をお宝に見立てて、micro:bitをかざしてマス目を探り、宝のありかを当ててみましょう。宝(磁石)を発見すると、micro:bitの表示がニコニコ顔に変わります。
「宝探しゲーム」のための材料を用意する
宝探しゲーム作りに必要な材料は以下の4点です。
1 段ボール、厚紙(宝探しゲームのボードになるもの)
2 USBケーブル
3 モバイルバッテリー
4 micro:bit
これら4点と、作業用の任意のパソコンを用意してください。
1(段ボール)は、厚みがあれば厚紙など、手ごろな紙類でOKです。
2(USBケーブル)は、AタイプとMicroBタイプを用意します。micro:bitとモバイルバッテリーの接続に用います。
3(モバイルバッテリー)は、micro:bitがあまり電力を使わないため、モバイルバッテリーによっては「省電力OFF機能」が働いてしまうことがあります。そうなると、ずっと起動し続けられないので、用意には細心の注意をしてください。省電力OFF機能がなく、スイッチのON/OFFで電源が管理できるモバイルバッテリーを選ぶといいでしょう。
4(micro:bit)の入手先は、いろいろとあります。初めての人でも特に迷うことなく入手できるでしょう。
micro:bitをPCにつなぐ
PC作業は、Windows 10をベースに進めます。まず、microUSBケーブルでmicro:bitとPCのUSBポートをつなぎます。
つないだmicro:bitは、コンピューター上では「MICROBIT」という名前のドライブとして表示されます。
micro:bitのプログラムを作る
micro:bitは、ブラウザだけで簡単にプログラムを作ることができます。micro:bitのWebサイトには、ブラウザ上で操作できるエディター「MakeCodeエディター」が用意されています。
Webサイトにアクセスしてみましょう。
“Microsoft MakeCode for micro:bit”.micro:bit.
https://makecode.microbit.org/
プロジェクトページが表示されるので、ここで新しいプロジェクトを作って、 micro:bitを動かすプログラムファイルを作ることができます。
プログラムファイルをシェアする
今回は、すでに筆者が作ったプログラムを用意してあります。いきなりゼロからプログラム作りをせず、初めての人や慣れていない人は、完成したプログラムを見て、仕組み作りの考え方をつかむのがいいでしょう。
筆者が作ったプログラムを取り込んで、動かしてみます。今回用のサンプルページにアクセスします。
“磁力X”.Microsoft MakeCode.2020.
https://makecode.microbit.org/27752-25868-12827-51908
筆者が実装したプログラムが表示されます。中でも、「磁石が近づいているか」という磁力をチェックしているプログラムの箇所が以下です。青(「基本」ツール)の「ずっと」ブロックの中に、「もし」ブロックに基づく条件を組んでいる状態です。
ここでは、「もし」ブロックに、「X」方向の「磁力」の絶対値が「450」以上(>)になったなら、というブロックを置いて、磁力をチェックできるようにしました。
プログラムをみなさんそれぞれの環境に読み込みましょう。「磁力X」と書かれたタイトルの右にある、グレーの「Edit Code」ボタンを押してください。
すると、自分のMakeCodeエディターにプログラム「磁力X」が読み込まれます。
ちなみに、筆者が用意したプログラム以外にも、micro:bitでは世界中のさまざまな人たちが作ったプログラムを手軽にシェアして使えます。プログラムを読み込まない場合は、自分でブロックを使ってプログラムを作ります。
宝探しのプログラムファイルをダウンロードする
筆者が用意したプログラム「磁力X」をこのまま使えば動きますので、ダウンロードして宝探しゲームを試してみましょう。MakeCodeエディターの左ペイン下にある紫の「ダウンロード」ボタンを押します。
MICROBITのドライブに保存したら、micro:bitにプログラムを反映させます。
ダウンロード後に地磁気センサーを調整する
micro:bitをモバイルバッテリーにつないで、実際に「宝探しゲーム」を試してみます。下の画像のようにつなぎ、起動しましょう。
今回のように、地磁気センサーをプログラムに用いると、起動後のLED画面に「TILT TO FILL SCREEN」という表示が流れます。その後、いくつかのLEDが光るので、それからmicro:bit本体を左右上下に傾けるなど動かして、すべてのLEDが点灯する状態にしましょう。
すべてのLEDが点灯して少し待つと、ニコニコ顔が表示されます。これで地磁気センサーの準備が完了となります。これらの一連の動作は地磁気センサーを使う場合、初回は必要となる調整です。
※ micro:bitのヘルプ&サポートページにも、一連の動作に関するムービーが公開されています。
“How to calibrate the micro:bit compass : Help & Support ”.micro:bit Support : Help & Support.
https://support.microbit.org/support/solutions/articles/19000008874-calibrating-the-micro-bit-compass
micro:bitの動作確認をする
地磁気センサーの調整作業を終えたら、磁石を用意して、実際に確認しましょう。
磁石を検知するセンサーは、micro:bitの裏側で確認できます。「COMPASS」と書かれている箇所がそうです。
表側では、ちょうどBボタンのあたりと覚えておきましょう。磁石をmicro:bitのそばに置いてみます。
磁石に近づけてLEDがニコニコ顔に変わればOK。無事に動作確認できたことになります。
宝探し用の段ボールにマス目を用意する
段ボールにマス目を書きます。あまり細かいマス目にしてしまうと、特定が難しくなるので、ある程度の大きさを確保したマス目を書くといいでしょう。
早速、段ボールの下に磁石を仕かけましょう。
micro:bitのBボタンのあたりをマス目に当てながら、磁石がどこに仕かけられているかを探りましょう! 友だち同士、親子など、一緒に遊ぶ相手に磁石をマス目の裏側に仕かけてもらい、磁石(お宝)の場所を探りあてるゲームで遊んでみてください。
ブロックエディターでプログラムを調整する
磁力に合わせた調整を行う
ここからは、ブロックの組み方を学ぶために少しブロックの中身を変えてみましょう。今回の解説で使用した黒い磁石(フェライト磁石)は入手しやすい一方で、磁力がそれほど強くありません。サンプルで用意したプログラムを改めて見てみましょう。
中でも、磁力に反応できる箇所が以下です。まず、MakeCodeエディターのツールボックスの「基本」で用意されている「ずっと」ブロックで全体を囲んでいます。その中に、ツールボックスの「論理」から「もし“真”なら」ブロックを選び配置。さらにそのブロック内で条件を指定しています。
「450」が磁力を判定する数値です。「もし“真”なら」ブロックの“真”に該当する値に、ここではツールボックスの「計算」で用意されている「〜の絶対値」ブロックを、さらにその中に「入力」の「磁力X」ブロックを置くことで、450以上(>)の磁力の値を検知したら「アイコンを表示」ブロックでニコニコ顔が表示されるように組まれています。
磁力が弱いので450のままにしていると、段ボールの厚みにもよりますが、なかなか動作しないかもしれません。その場合、弱い磁力にも判定できるように低い数値に変えてみましょう。例えば「250」にしてみると、450より反応しやすくなります。正確に探らないとわからないように数値を変えていけば、絶妙な難易度調整にもなります。
慣れるまでは、機能がよくわからないブロックもあるでしょう。今回は、全体で使っているブロック数が多くない点でも、初心者がブロックの条件や意味を探りやすいサンプルです。磁力の数値を変えたり、アイコン表示を変えたりしながら、少しずつブロックにも慣れてみてください!
屋号:ワンフットシーバス
2004年よりフリーランス。最近ではWebフロントエンドをベースに、情報とインターフェイスが合わさる視点で、IoTやVRといった技術も取り入れ活動中。