micro:bitを使ってみる 41 〜宝さがしゲーム

来年の春休みに、マイクロビットを使った子供向けのワークショップ第2弾を行うことになりました。


第1弾では、LEDにいろいろな模様を表示させる「万華鏡」プログラムを作りましたが、今回はもう少し発展したものということで、「無線」を使ったプログラムを作ります。

親機と子機で無線通信を行うことで、親機がどこに置いてあるかを探す「宝さがしゲーム」です。

機能

まずは親機の機能です。
親機が「宝もの」です。
親機は無線でデータを受信した時に、そのデータをそのまま無線で送り返します。
同時にLEDに自分のグループ番号を表示し、音を鳴らします。
グループ番号を変えることで、複数の宝ものを準備できます。
今回は、グループ番号5、6、7の、3台の親機を準備しました。
親機は、適当な場所に隠しておきます。

次に子機の機能です。
ボタンA、ボタンBを押すと、無線でデータ送信するときの「電波の強さ」を変更できます。Aを押すと小さく、Bを押すと大きくなります。0〜7の範囲で変更できます。
ボタンAとBを同時に押すと、そのmicro:bitの「固有の名前」を、設定した電波の強さで無線送信します。
親機から、自分の「固有の名前」が送り返されてきたら、LEDにアイコンを表示し、音を鳴らします。
この子機を操作して、親機の隠し場所を探します。

micro:bit無線の電波は、「電波の強さ」が最大の7の時は、数十m程度飛びますが、最小の0にすると1m程度しか飛びません。
まずは「電波の強さ」を最大の7にして、歩き回りながら無線送信して、親機の反応する場所を探します。これで大まかな隠し場所を見つけます。
電波の強さを段々小さくして、同じように親機の反応する場所を探し、徐々に隠し場所を絞り込んでいきます。
最小の0で反応すれば、すぐ近くに親機が隠してあるということなので、親機の出す音や光で親機を見つけることができます。

材料

  • micro:bit(複数台)
  • MI:電源ボード(micro:bitと同じ台数)

プログラム

親機のプログラムは以下のとおりです。親機ごとに、グループ番号だけを変更してダウンロードします。

子機のプログラムは以下のとおりです。探したい宝もののグループ番号を設定します。違う宝ものを探すときには、このグループ番号を変更して、プログラムをダウンロードし直します。

子機のプログラムの応用編として、宝ものの「グループ番号」を変更できるようにします。
micro:bitをゆさぶるたびに、グループ番号が5→6→7と変わり、設定されたグループ番号がLEDに表示されます。

これで、プログラムをダウンロードし直さなくても、グループ番号が変更できるようになります。

なお、私がマイクロビットの使い方を習得するのにあたっては、以下の書籍を参考にさせていただきました。


初心者向けから、比較的高度なものまで、さまざまな情報が記載されているだけでなく、子供向けの作例も多数掲載されていますので、「プログラミング教育」のための題材さがしなどにもおすすめです。


このサイトで書いている、マイクロビットに関するブログ記事を、「さとやまノート」という別のブログページに、あらためて整理してまとめました。

他のマイクロビット記事にも興味のある方は「さとやまノート」をご覧ください。