iːoに載っているNeoPixel型フルカラーLEDを使った信号機プログラミングについて紹介します。
解説ビデオ
iːoには、特別に「青・黄・赤信号」の拡張ブロックがあります。
ここまで信号機のプログラムにこだわっているのは、他にはなかなか無いと思います。信号機と言っても、世の中にはいろいろな信号機がありますよね。車用、歩行者用、鉄道用など・・・。これらの信号を想定することで、プログラムの基本「順次・反復」や、micro:bitの大切なブロック「音・ボタン・待ち時間」などを学習し身につけることができるのです。
では、もっともオーソドックスな「青→黄→赤」と変化する信号機です。
このプログラムだけでも、時間のブロックを使って調整することや、順次処理として、たとえば「青を点けたら消して、その後に黄色の処理を行うという順次処理の基本を学べます。
結構、「青・黄・赤」全色が点灯する危険な信号をプログラムする人が多いんですよ。こういう試行錯誤はとっても大切です。
歩行者信号
「青連続 → 青点滅 → 赤点灯」という変化になる信号です。この場合、青点滅をどうやって作るかがポイントです。ループを使うと、作りやすくすっきりします。
プログラミング教育では、授業の始まりに「ゴールを設定」し、試行錯誤しながらゴールに近づけていくことが大切です。ただ、ゴールできたら、さらに高い設定を設けさせたいと思います。そういう点で、歩行者信号のプログラムはいいと思います。
さらに、これもゴールしたらどうしましょう。実は、まだまだ高い設定は可能です。歩行者信号をよく見ると、青の残り時間が表示されたり、視覚しょう害のある人にも分かりやすく音が流れたりします。それを、プログラミングで再現するのです。
歩行者信号で、時間表示や音が流れるプログラム
中身が見えづらいので、プログラムのリンクは次の通りです。(iːoのマニュアルにも詳しく述べています)
残り時間・音楽が流れるプログラム
このように、iːoはプログラム入門に適した設計になっています。
iːoのマニュアルが、より充実しました。ぜひ、次のリンクからご覧ください。