こんにちは、木原です。第45回神楽坂プログラミング教室は、玉入れゲーム。各ゴールに入った玉の数を得点ボードに集計して表示するという、無線通信を活用したゲームをみんなで作りました(-☌ᴗ⚬-)
ゴールに玉が入ったかどうかは、ゴール部分にフォトリフレクターという赤外線のセンサーを取り付けて調べます。参加者二人とも前回4月の回でフォトリフレクターを使ったばかり!ということで、
①センサーの値をmicro:bitのLED画面に表示する
②ゴールしたら=玉を検知したら、音がなる
③ゴールした数をmicro:bitのLED画面に表示する
上記3ステップはクイズ形式にして、さささ~っとプログラムを作っていきました。③は「変数」を使うのですが、こちらが何も言わずとも二人ともチャチャっと完成させてました。すごい!
いよいよ今日の本題。得点ボード(親機。講師のmicro:bit)と各ゴール(子機。参加者のmicro:bit)が通信する部分を作ります。まずは無線通信の練習で、お互いに、名前など文字列を好きに送受信。練習したら
④子機:ゴールしたら、親機に点数を送る
⑤子機:ゲーム中だけ親機に点数を送る(親機から文字列「スタート」を受信したらゲーム開始。「ストップ」を受信したらゲーム終了)
上記、通信部分のプログラムを作って完成!
⑤では、変数を使って真偽値でゲーム中かどうかを管理するという、ちょっぴり難しいことを行ったのですが、二人ともすんなりついてきてくれました!すご!
しかも、ちょうど説明し終わったタイミングで部屋の中に大きい虫が出入りしたのですが(涙)、虫がいなくなった後「虫がいるときは真。今は偽!」と、早速、身近なことに応用していました!すご!!
最後の30分はフリータイムに。サーボモーターを追加してゴールを動かしたり、プログラムをいじったりと自由にアレンジしてもらいました。
最後は二人で玉入れゲーム!時間は30秒。1回目は14点。2回目は21点の快挙でした~(-☌ᴗ⚬-)
神楽坂プログラミング教室について switch-education.com