小さなものづくりコンピューター「SPACEBLOCK(スペースブロック)」を使って、LEDパネルの電光表示装置を作りましょう。[SPACEBLOCK-4]では、電源を入れたら8×8 RGB LEDマトリックスパネル(LEDパネル)が光るというプログラムでしたが、今回は、「ボタンを押したらLEDが光る」というプログラムにアレンジします。
プログラミング画面の開き方など基本の作業の流れは、「SPACEBLOCKのプログラミング手順をチェック!」で確認してくださいね。
必要なもの&準備
[SPACEBLOCK-4]の記事と同じく、SPACEBLOCK本体、LEDパネル、USBケーブル、電池ボックスです。接続の仕方とプログラミング画面の開き方も同じです。USBケーブルでSPACEBLOCKとパソコンがつながっているのを確認して、プログラミング画面右上からデバイスを接続して、「デバイスON」の状態でプログラムを作成しましょう。
ボタン操作のプログラム
ボタンを押したら光るプログラムを作るために、[基本]カテゴリーの[ボタン(PA8)が押された]ブロックを使います。
SPACEBLOCKにはボタンが2個ついていて、それぞれに「PA8」と「PA9」という名前がついています。[ボタン(PA8/PA9)が押された]ブロックを使うときは、どちらのボタンへの指示なのか正しく指定しましょう。
つづいてLEDパネルのプログラムです。次の図の通り、ボタンが押されたときに、「オ」「カ」「エ」「リ」という文字が順に表示されるようにプログラムします。[SPACEBLOCK-4]の記事で解説した通り、[RBG LED(A10)を点灯]ブロックで文字を指定し、[一時停止(1000)ミリ秒]ブロックを間に入れて各文字が点灯する時間を作り、最後には[RBG LED(A10)を全て消灯]ブロックでLEDを消します。
上の図の通り作成したプログラムを実行してみましょう。
プログラミング画面下部の[実行]をクリックしてプログラムを動かしてから、SPACEBLOCK本体のボタン(PA8)を押してみると……あれ? 何も起きません! 画面には、「プログラムが終了しました」の通知が出ています。何もしないうちにプログラムが終了したとはどういうことでしょうか。
プログラムを動かし続ける
このプログラムを点検すると、[プログラムを開始]ブロックのあとに何もブロックがつながっていません。命令が何もないのでプログラムは実行されてすぐ一瞬で終了してしまったのです。SPACEBLOCKのボタンを押しても何も起きなかったのは、ボタンを押した時には、既にプログラムが終了してしまっていたからです。
プログラムを動かし続けるには、[プログラムを開始]ブロックに、[繰り返し]カテゴリーの[繰り返す]ブロックをつなぎます。これで、プログラムを一度実行すればプログラムが動き続けるようになります。
[ボタン(PA8)が押された]ブロックは、プログラムが動いている間はずっと、ボタンが押されているかどうかをチェックし続けます。そしてボタンが押されたと検知したら、自分のブロックの内側につながっているプログラムを実行します。
さて、修正したプログラムを実行してみましょう。SPACEBLOCKのボタン(PA8)を押すと、「オ」「カ」「エ」「リ」の文字が順番に1秒ずつ表示されました。
プログラムをSPACEBLOCKに転送してスタンドアローンモードで動かせば、パソコンから切り話して使えます。ボタンを押せばいつでもメッセージが流れる「おかえり電光表示装置」の完成です!
広がるSPACEBLOCKの世界
プログラムは完成しましたが、このままでは材料や部品のような感じがするので、LEDパネルの設置場所を工夫してみましょう。例えば、SPACEBLOCKを白いプラスチックボックスの内側にセットしておくと、こんな風にLEDの表示がすけて見えます。ちょっとおしゃれな感じになりました。
自分で作った工作と組み合わせたりして、ぜひ装置のデザインも工夫してみてくださいね!
また、コンピューターには入力装置と出力装置がありますが、今回作ったプログラムの場合、ボタンが入力装置で、LEDパネルが出力装置です。ボタンを押す代わりになにか他のものを入力装置にしたり、LEDパネルの他にも出力装置を足したりしたら、もっと便利で楽しい「おかえり電光表示ボード」になるかもしれませんよ。ぜひアイデアを考えてみてください!!
狩野 さやか
Studio947のデザイナー・ライター。デザイン・ウェブ制作全般を担当する一方、技術書籍の執筆や、教育のICT活用・子ども向けプログラミングについての取材・執筆をしている。著書に『ひらめき!プログラミングワールド』『見た目にこだわるJimdo入門』『ふたりは同時に親になる 産後の「ずれ」の処方箋』。
コメント