[No.5]ボタンを押したら何かがおきる!〜「オカエリ」電光表示
小さなものづくりコンピューター「SPACEBLOCK(スペースブロック)」を使って、LEDパネルの電光表示装置を作りましょう。[SPACEBLOCK-4]では、電源を入れたら8×8 RGB LEDマトリックスパネル(LEDパネル)が光るというプログラムでしたが、今回は、「ボタンを押したらLEDが光る」というプログラムにアレンジします。
必要なもの&準備
ボタン操作のプログラム
SPACEBLOCKにはボタンが2個ついていて、それぞれに「PA8」と「PA9」という名前がついています。[ボタン(PA8/PA9)が押された]ブロックを使うときは、どちらのボタンへの指示なのか正しく指定しましょう。
つづいてLEDパネルのプログラムです。次の図の通り、ボタンが押されたときに、「オ」「カ」「エ」「リ」という文字が順に表示されるようにプログラムします。[RBG LED(A10)を点灯]ブロックで文字を指定し、[一時停止(1000)ミリ秒]ブロックを間に入れて各文字が点灯する時間を作り、最後には[RBG LED(A10)を全て消灯]ブロックでLEDを消します。
上の図の通り作成したプログラムを実行してみましょう。
プログラミング画面下部の[実行]をクリックしてプログラムを動かしてから、SPACEBLOCK本体のボタン(PA8)を押してみると……あれ? 何も起きません! 画面には、「プログラムが終了しました」の通知が出ています。何もしないうちにプログラムが終了したとはどういうことでしょうか。
プログラムを動かし続ける
このプログラムを点検すると、[プログラムを開始]ブロックのあとに何もブロックがつながっていません。命令が何もないのでプログラムは実行されてすぐ一瞬で終了してしまったのです。SPACEBLOCKのボタンを押しても何も起きなかったのは、ボタンを押した時には、既にプログラムが終了してしまっていたからです。
プログラムを動かし続けるには、[プログラムを開始]ブロックに、[繰り返し]カテゴリーの[繰り返す]ブロックをつなぎます。これで、プログラムを一度実行すればプログラムが動き続けるようになります。
[ボタン(PA8)が押された]ブロックは、プログラムが動いている間はずっと、ボタンが押されているかどうかをチェックし続けます。そしてボタンが押されたと検知したら、自分のブロックの内側につながっているプログラムを実行します。
さて、修正したプログラムを実行してみましょう。SPACEBLOCKのボタン(PA8)を押すと、「オ」「カ」「エ」「リ」の文字が順番に1秒ずつ表示されました。
プログラムをSPACEBLOCKに転送してスタンドアローンモードで動かせば、パソコンから切り話して使えます。ボタンを押せばいつでもメッセージが流れる「おかえり電光表示装置」の完成です!
広がるSPACEBLOCKの世界
自分で作った工作と組み合わせたりして、ぜひ装置のデザインも工夫してみてくださいね!
また、コンピューターには入力装置と出力装置がありますが、今回作ったプログラムの場合、ボタンが入力装置で、LEDパネルが出力装置です。ボタンを押す代わりになにか他のものを入力装置にしたり、LEDパネルの他にも出力装置を足したりしたら、もっと便利で楽しい「おかえり電光表示ボード」になるかもしれませんよ。ぜひアイデアを考えてみてください!!