[SPACEBLOCK-4]プログラムの基本は順序よく!〜フルーツを電光表示

狩野 さやか

SPACEBLOCK

小さなものづくりコンピューター「SPACEBLOCK(スペースブロック)」で、早速初めてのプログラムを作ってみましょう。今回は、「8×8 RGB LEDマトリックスパネル」(以下、LEDパネル)を接続して、絵を表示する装置に挑戦します。

プログラミング画面の開き方など基本の作業の流れは、「SPACEBLOCKのプログラミング手順をチェック!」で確認してくださいね。

必要なもの

  • SPACEBLOCK本体
  • USBケーブル
  • 電池ボックス
  • 8×8 RGB LEDマトリックスパネル(LEDパネル)※
  • プログラミングをするパソコン
※8×8 RGB LEDマトリックスパネル(LEDパネル)は「SPACEBLOCK通常パッケージ」には入っていませんが、別売りでSPACEBLOCKサイトより購入できます
必要なもの
上段左から:電池ボックス、USBケーブル。下段左から:LEDパネル、SPACEBLOCK本体

準備:LEDパネルをSPACEBLOCK本体に接続

SPACEBLOCKをUSBケーブルでパソコンに接続し、電池ボックスも接続しておきます。LEDパネルの背面の3つのピンをSPACEBLOCKの横向きソケットに接続します。なお、電池ボックスは、スタンドアローンモードの時にだけ使いますので、使わないときは電源をOFFにしておきましょう。

SPACEBLOCKのどこに何を接続するのかを確認

SPACECLOCKのウェブサイトに自分のアカウントでログインしたら、[新しいプロジェクト]を作成してプログラミング画面を開きます。画面右上からデバイスを接続して、「デバイスON」の状態でプログラムを作成しましょう。

プログラミング画面の右上が「デバイスON」になっていなければクリックして接続する

LEDパネルを操作するプログラムを作る

まず、LEDパネルを光らせるプログラムを作ってみましょう。プログラム制作画面で[LED]カテゴリーの[RGB LED(A10)を点灯]というブロックを選びます。

カテゴリーをクリックすると使用できるブロックが表示されるのでドラッグ

[RGB LED(A10)を点灯]ブロックを[プログラム開始]につなぎ、LEDパネルで表示させたい絵や模様を描きます。

LEDパネルにりんごの絵を表示させるプログラム

[RGB LED(A10)を点灯]ブロックの「A10」というのは、LEDパネルを挿した横向きソケットの番号です。このように、SPACEBLOCKに何か別のパーツを接続したときは、プログラムをする際に接続したソケットの番号を指定します。

A10ではなく他の番号を選んでしまうと、LEDパネルへの命令が届かない

プログラムを実行してみると、LEDに鮮やかなりんごの絵が表示されました。

続いて、[RGB LED(A10)を点灯]をもう1個追加して、バナナの絵を表示させましょう。次の図の通りにプログラムを作成して実行してみると、りんごは表示されず、バナナだけが表示されます。気をつけてよく見ると、バナナの前に一瞬赤く光っているようです。

SPACEBLOCK
りんごとバナナの絵をプログラムしたが、バナナしか表示されない

りんごのプログラムがあるのに、なぜりんごは表示されないのでしょうか? りんごが表示されてからバナナが表示されるようにするために、プログラムを修正していきましょう。

プログラムの実行は猛スピード!「一時停止」を入れよう

このプログラムを点検すると、りんごを表示するブロックのすぐ下にバナナを表示するブロックがつながっています。プログラムは上から下に向かってものすごいスピードで実行されます。このプログラムの場合、りんごを表示する命令の次の瞬間にバナナを表示する命令が実行されたので、バナナしか表示されていないように見えたのです。一瞬赤く光って見えたのはりんごの表示がほんの一瞬見えたからです。

修正するために、りんごを表示するプログラムのすぐ下に、[基本]カテゴリーの[一時停止(1000)ミリ秒]ブロックを入れます。これでプログラムを実行すると、りんごが1秒表示されてから、バナナが表示されるようになりました。

SPACEBLOCK
一時停止のブロックを入れるとリンゴが見えるようになった

[一時停止(1000)ミリ秒]ブロックを入れたおかげで、バナナを表示する命令に行く前にりんごが見える時間ができました。なお、「ミリ秒」というのはプログラミングでよく使う単位で、1秒が1000ミリ秒です。

コンピューターへの指示は正確に!

もし、友達に「りんごとバナナを順番に見せて」とお願いしたら、適度なスピードで順番に見せてくれるでしょう。でも、コンピューターはプログラムに書かれたことだけを実行するので、「適度なスピード」という判断はしてくれません。プログラマーである皆さんが、コンピューターがわかる言葉で正確に細かく順序良く指示する必要があります

今回のように、次のブロック進む前に止まっていて欲しいときは[一時停止(1000)ミリ秒]を使うことを覚えておきましょう。ライトや動きなどを指示するプログラムではとてもよく使う技です。

さらに、さきほどのプログラムにさらに少し修正を加えて、りんごが2秒表示されたらバナナが表示され、バナナが2秒表示されたらLEDパネルのライトが消えるようにします。LEDを消すには[RGB LED(A10)を全て消灯]ブロックを使います。

SPACEBLOCK
りんごとバナナを2秒ずつ順番に表示して消すプログラム

このプログラムをSPACEBLOCKに転送して、スタンドアローンモードで動かしてみましょう。(→手順はこちらの記事をチェック!

SPACEBLOCKをパソコンから切り離して、電池ボックスの電源をONにすると、リンゴとバナナの絵が2秒ずつ表示されて消えます。もう一度プログラムを実行したいときは、いったん電源をOFFにしてもう一度ONにします。

[プログラム開始]ブロックに続けて作るプログラムは、このように電源をONにしたときに実行が始まります。

こんどは、電源をオンにしたときにいきなりLEDがつくのではなく、ボタンを押すとLEDがつくというプログラムにアレンジします。続きは次回!

SPACEBLOCKの使い方や作品アイディアを集めた特集ページです!ぜひチェックしてみてください。
SPACEBLOCKでプログラミングものづくり!

狩野 さやか
Studio947のデザイナー・ライター。デザイン・ウェブ制作全般を担当する一方、技術書籍の執筆や、教育のICT活用・子ども向けプログラミングについての取材・執筆をしている。著書に『ひらめき!プログラミングワールド』『見た目にこだわるJimdo入門』『ふたりは同時に親になる 産後の「ずれ」の処方箋』。

コメント

コメントを書く