Mission
色設定サブルーチンは、一度に一か所のLEDしか設定できません。
複数のLEDを設定するには、 FOR~NEXT命令を使うと便利です。
この命令は、指定した変数が条件を満たすまで順番に処理を繰り返してくれます(参考:FOR命令)。
今回のLED基板のように、順番に並んでいるLEDをコントロールするのには、すごく相性がよい命令なのです。
LEDの光らせ方を、つぎのミッションプログラムで試しましょう。
同時に、FOR~NEXT命令の使い方も理解してみましょう。
※Missionプログラムを実行するときは、予め1000~1033行番の「色設定サブルーチン」を入力しておいてください。
Mission1 七色からひとつ色を選んで光らせる(FOR命令の使い方1)
INPUT命令で色を選んで12個のLEDを光らせます(参考:INPUT命令)。
プログラムを実行した後、画面に ? が表示されたら、0~7の色コードを入力して、何色が光るかみましょう。
LED位置(変数I)の0から11の順番に、色(変数C)を設定しながら、12個すべてのLEDを光らせていきます(40~80行目)。
10 ‘M.1 七色からひとつ色を選んで光らせる
20 CLV
30 INPUT C
40 FOR I=0 TO 11
50 GSB 1000
60 WS.LED 12
80 NEXT
100 END
※次のプログラムを加えると、 LED位置(変数I) の変わり方がわかります(参考:PRINT命令)。
45 PRINT “I=”;I
※ INPUT命令の代わりに、RND命令で 色(変数C)の値を決めると、RUNするたびに、IchigoJamが気まぐれに色を決めてくれます(参考:RND命令)。
30 C=RND(7)+1
※次のプログラムを追加すると、1秒毎に順にLEDが光ります(参考:WAIT命令)。
70 WAIT 60
RUN
?4
OK
【プロのわざ】
実は、全部のLEDを同じ色で光らせるだけなら、つぎのようにしても良いのです。
I=0:C=6:L=100
GSB 1000
WS.LED 1,12
これは、1番目のLEDに設定した色を、12個分繰り返して光らせてくれるWS.LED命令の書き方です(参考:WS.LED命令)。