1、LED画面に表示させてみよう
 LED画面に文字や模様を表示させることができます。micro:bit表面に並んだ、縦5つ、横5つのLEDを確かめましょう。この25個のLEDを光らせたり、消したりすることで文字や模様を表します。


 今回はここにきらきらと燃える炎を表現してみます。どうやって表現するのでしょうか。いろいろな方法がありますが、今回はランダムにひとつのLEDを選んで、つけたり消したりしてみます。

 最初からついているLEDは消し、消えているLEDはつけます。これだけで炎が揺らめているように見えるというわけです。

 付けたり消したりするLEDをひとつ選ぶために乱数コードを使います。プログラムの中の乱数コードの位置を確かめましょう。

 このコードから分かるように、それぞれのLEDをその場所の数字で指定することができます。左上を基準に、縦にも横にも0、1、2、3、4と数えます。横方向がX、縦方向がYです。たとえば図の緑の部分のLEDはXが3,Yが2の場所です。


 スクラッチでは画面の中央部分が0で、横方向をプラスマイナス240、縦方向をプラスマイナス180で表したのを覚えていますか? どこを基準のゼロとするかは言語によって違うということです。



 今回のプログラムではxが0〜4の範囲で一つ選ばれ、Yが0から4の範囲で一つ選ばれ、反転、つまり、ついている場合は消える、消えている場合はつくことになります。



 さらに、スイッチをつけて、スイッチがオンになったときに、音楽を鳴らす仕組みを作ります。スイッチ部分がつながるたびに音楽が最初から流れます。上の図の「端子P2がタッチされたとき」の部分です。

 プログラムができたら実際にスピーカーやワニ口クリップでつないでみよう。

 教科書に載っているつなぎ方は次のとおり。実はこの回路、スイッチの回路とスピーカーの回路が一部一緒になっています。スイッチの回路はどれか分かりますか?


 黄色の回路がスイッチの回路です。P2とGRDをつないでいますね。スピーカーの回路も分かりましたか?


 本当なら次のような回路にしたいところですが、

そうするとGND端子にワニ口クリップが2つ重なってしまうので、教科書のようにアルミフォイルを挟んで工夫してあるのです。

ワニ口クリップは端子に真っすぐ差すという決まりがありましたね。だから斜めになるのを防いでいるというわけです。でも、実際には2つ重ねて斜めにつないでも壊れません。

 スイッチが作動するとP2端子が短くタップされたことがマイクロビットに感知され、メロディが1回再生されるという仕組みになっています。図で詳しく見ていきましょう。1〜3まで順にたどってみてください。


 では、スイッチがオンになったときではなく、ボタンAを押したときに、1回だけメロディを流すにはどんなプログラムにして、どんな回路を作ればいいでしょうか?

 また、スイッチやボタンはない状態で、ずっとメロディを流し続けるにはどんなプログラムにして、どんな回路を作ればいいでしょうか?

 プログラムを作って、micro:bitに書き込み、スピーカーなどをつなぎ、実際の動作を確認しよう。



【課題】
 これまでのおさらいをします。これまでに2−1動物ビット、2−2クリップビット、2−3バースデーキャンドルのプログラムを作りました。いずれも端子に電流が流れるという入力があって、LED画面を出力するというプログラムでした。ひとつずつ振り返ってみましょう。

 動物ビットでは端子に直接、人間が触れることで電流を流しました。


 クリップビットではクリップなどを使って電流を流しました。


バースデーキャンドルではそこをさらにスイッチにしました。


 何かしらの入力(ここでは端子に電気を流すこと)があって、何かしらの出力(ここではLEDに表示をさせること)が得られる仕組みを作ったということを覚えておいてくださいね。

 さて、教科書からはいったん離れ、LED画面の練習をします。LED画面には5×5の小さな画面と5×10の大きな画面があります。どちらも横にスクロールさせることができます。

 入力カテゴリーのブロックを使って、画像を表示しましょう。「端子*が短くタップされたとき」「*ボタンが押された時」「ゆさぶられたとき」を使います。

 出力の方は、次々と画面を切り替えたり、画面をスクロールさせたりしてみよう。

 下の作例をパソコンでシミュレーションしたあと、どれか1つを選んで改造し、オリジナル作品を作って、micro:bitに書き込み、動作を確認するのが今回の課題です。

「画像を作成」ブロックで作ろう
・4コマ漫画を作ろう/Aボタンを押してスタート、4コマを順に表示しよう


・漢字クイズ/Aボタンで問題を表示、Bボタンで答えを表示しよう


大きな画像を作成ブロックで作ろう
・大波小波/「揺さぶられたとき」に、スクロールさせよう


・無限列車/「左に傾けたとき」に、スクロールさせよう


・擬態語、擬声語/「端子*が短くタップされたとき」に、繰り返して表示しよう


・2文字ずつ表示して単語や文を作る/「Aボタンが押されたとき」に、3つの大きな画面を連続スクロール表示しよう


「大きな画像を作成」ブロックを変数に入れてスクロールさせよう
・点の移動/「Aボタンが押されたとき」に、画像を変数に入れよう。「Bボタンが押されたとき」に、画面をスクロールさせよう。反対方向もやってみよう。