WS.LED命令を使うとき、色や動きを簡単に設定できるサブルーチンをまとめました。
WS.LED命令の概要は、「LEDでナナイロづくり」も参考にしてください。
- SET_WS.LED LED色の設定
- GET_WS.LED LED色の取得
- STR_WS.LED 一括色設定
- SHIFT_WS.LED LEDシフト設定
- LUMINA_WS.LED 輝度設定
- CLS_WS.LED 全LED消灯
サンプルプログラム
P .7 イルミネーション
P .8 フラッシュ
P .9 ナイト
P.10 五秒ごとの時計
1.LED色の設定
@SET_WS.LED(I,C,L)
1000 @SET_WS.LED(I,C,L)
1010 IF I>33 THEN I=33
1020 IF (L<1||L>255)&&(C%8) THEN L=20
1030 LET[I*3],C&1*L,C>>1&1*L,C>>2&1*L
1040 RETURN
・LED位置I番の配列(GRBの3か所)に、変数C(色)と変数L(明るさ)を設定します。
———————————————————————
変数 I LED点灯位置
0~33 (LEDの数は最大34個まで)
———————————————————————
変数 C LED色
0■無(光らない)、1■緑、2■赤、3■黄、4■青、
5■シアン(青緑)、6■マゼンタ(紅紫)、7■白
———————————————————————
変数 L LED輝度
1~255(範囲外は強制的に20)
———————————————————————
※変数L=0は無効にしています。LED光らせたくないときは、変数Cに0を設定してください。
もし、変数Lの0を有効にするときは、1020行目を削除してください。
※変数Cは下位3ビット分しか使用していません。C=9は、C=1と同じ色です。マイナス値でも何かしら光ります(ABS(C%8)と同じ)。
※変数Lも下位8ビットしか使用していません。L=256はL=0と同じ明るさです(ABS(L%256)と同じ)。
サンプルプログラム1(7色を順に光らせる)
10 CLV
20 L=100
30 FOR C=1 TO 7
40 PRINT “—————-“
50 FOR I=0 TO 11
60 GSB @SET_WS.LED(I,C,L)
70 PRINT “I=”;I,”C=”;C,”L=”;L
80 WS.LED 12
90 WAIT 10
100 NEXT
110 ?
120 WAIT 60
130 NEXT
140 END
この教材は「Creative Commons — CC BY-SA 4.0」の下に提供されています。