LEDでナナイロづくり 2

WS.LED命令を使うとき、色や動きを簡単に設定できるサブルーチンをまとめました。
WS.LED命令の概要は、「LEDでナナイロづくり」も参考にしてください。

  1. SET_WS.LED LED色の設定
  2. GET_WS.LED LED色の取得
  3. STR_WS.LED 一括色設定
  4. SHIFT_WS.LED LEDシフト設定
  5. LUMINA_WS.LED 輝度設定
  6. 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青、
シアン(青緑)、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」の下に提供されています。