来年の春休みに、マイクロビットを使った子供向けのワークショップ第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に表示されます。
これで、プログラムをダウンロードし直さなくても、グループ番号が変更できるようになります。