【プログラミング教育ネタ】micro:bitで宝探しゲームを作ってみた

小学校でのプログラミング教材はScratchが中心

小学生の娘から話を聞く限りでは、最近ようやく小学校でもプログラミングの授業が組まれているようで、一人一台貸与されたノートPCで、Scratchを使ったゲームのプログラミングをして楽しみながら授業をやっているようです。

ただ、よくよく聞いてみると担任の先生主体が主体となって教えるというものではなく、授業自体が自習扱いで、プログラミングをやりたい子は自分のPCでScratchを使ってゲームを作成し、プログラミングに興味が無い子は読書をしててもいいそうです。
(あくまで私の子供が通う学校の話なので、他の学校も同様であるかは分かりません)

2020年から日本の小学校でもプログラミングが必修化、という話を聞いて多少は期待していましたが、実際には学校の先生が主体的に教えられる状態ではないようです。これでは子供たちにプログラミングに対して興味を持ってもらうのは難しいですね。

micro:bitで実際に動くモノを作る楽しさ

以前このブログでも紹介していますが、子供たちのプログラミング教育に適したmicro:bitという小型マイコンボードがありますが、どうやら日本の小学校でmicro:bitを活用したプログラミング授業はあまり行われていないようです。

プログラミング教育必修化に一抹の不安? 2020年度から、日本の小学校でもプログラミング教育が始まります。ただ、十分な準備ができてい...

うちの子の小学校の現状を考えれば、Scratchを使ったプログラミング授業でさえも子供たち任せの状況で、さらに新たな教材の導入というのは現場の先生たちの負担が大きすぎるのかもしれません。

ただ、私が思うに、あくまでパソコンの内部でしかプログラミングの成果を確認できないScratchに比べ、micro:bitなら実際の「モノ」としてプログラミングの成果を試すことができるので、より子供たちの興味を引くのではないかと考えます。
何より、動く「モノ」を作ることの楽しさを感じてもらえるのではないかと思います。

プログラミング教材としての宝探しゲーム

今回、micro:bitを使用したプログラミング教材として「宝探しゲーム」を検討してみました。
複数台のmicro:bitで無線通信を使ったゲームとなります。

送信側のmicro:bitが「お宝」、受信側のmicro:bitがそのお宝を探すための「探知機」となります。
送信側が1台に対し、受信側が複数台という構成が良いと思います。

送信側(お宝)

送信側micro:bitは、一定時間ごとに文字列を送信する、という非常にシンプルなものです。
同じグループのmicro:bitに対してひらすら送信し続けるというものです。
ちなみに、PCから切り離した状態で使用するため、今回の例ではコイン電池で電源供給しています。

コイン電池が搭載できる、micro:bit用の電源基板です。micro:bitのエッジコネクタの3 VとGNDを直接ネジで繋ぎ、micro:bitに電源を供給する仕組みです。また、0番にブザーがつながっており、オーディオ機能の初期出力先にすることが可能です。

受信側(探知機)

受信側micro:bitは、受信したパケットの信号強度をもとに、LEDに棒グラフを表示させる仕組みとしています。受信した信号強度が強くなる=お宝が近づくごとに棒グラフがどんどん上に伸びていきます。

以下のプログラムの例では、棒グラフ以外にも、一定の信号強度以上になると音を出すようにしています。ただ、こちらはmicro:bit V2のスピーカー機能を使用しているため、V1ですとそのままでは音が出ません。別途スピーカーを接続する必要があります。

ちなみに、信号強度が-50よりも大きい場合に音を出すようにしていますが、これは実際に色々な値で試してみた結果、20センチくらいまで近づいた時に音がなるのが-50だったのでこの値を採用しました。

実際に自宅で試してみましたが、子供に自分の部屋の好きな場所にお宝micro:bitを隠させて、私が探知機で探してみたところ、だいたい5分程度で見つけることができました。

プログラミング教室での想定

実際にプログラミング教室をやる体で、この教材の活用方法を考えてみることにします。
送信側はシンプルなのですぐ出来てしまうと思います。お子さんにぜひプログラミングをやらせてみたいのは受信側のmicro:bitです。

上述のプログラム例から音を出す機能を省いた最小限の状態をサンプルとして提供し、最初はサンプルのままお宝を探してみます。その後、どんな機能を追加したらよりお宝を早く見つけることができるかをアイデア出ししてもらい、その実現方法については講師役の方がアドバイスを出す、という流れが良いのかなと思います。

予め、追加機能としてどんなものがあれば良さそうか、先に選択肢を用意しておくのもいいですね。
それぞれ、子供たちにどれかを選択してもらい、実際にプログラミングした結果を探知機に反映して再度探してみる。こういうトライアンドエラーを実際にやってみることがすごく大事だと思っています。

スポンサードリンク

シェアする

  • このエントリーをはてなブックマークに追加

フォローする