LEDでナナイロづくり 2

五秒ごとの時計

12個のLEDサークルを、時計の秒針に見立てて光らせるプログラムです。

1秒ごとに点滅、5秒毎に点灯を繰り返して、LEDサークルを一周(1分)します。
一周を終えたあとは色を変えて繰り返します。
なお、「ナナイロづくり」のサブルーチンは直接使わず、プログラム内に直接、同様のコードを埋め込みました(1230行目、1330行目)。

10 ‘LED Circular Clock by WS2812B
20 CLV
30 ?S: GSB@WAIT60:CONT

1100 @WAIT60
1110 IF S%5 GSB@WS1 ELSE GSB@WS5: IF !(S%60) GSB@WS60
1120 S=S+1
1130 IF TICK()%60 CONT
1140 WAIT2: RTN

‘1秒毎に同じ場所のLEDを点滅
1200 @WS1
1210 BEEP99,1
1220 FOR I=0 TO 1
1230 LET[S/5%12*3],C*I&1*50,C*I>>1&1*50,C*I>>2&1*50
1240 WS.LED12:WAIT5
1250 NEXT:RTN

‘5秒毎に次のLEDを点灯
1300 @WS5
1310 BEEP30
1320 @S_WS5
1330 LET[S/5%12*3],C&1*50,C>>1&1*50,C>>2&1*50
1340 WS.LED12:RTN

’60秒毎に色を変えて最初のLEDを点灯
1400 @WS60
1410 BEEP5,30
1420 FOR I=0 TO 35:[I]=0:NEXT
1430 C=C+1:IF C>7 C=1
1440 I=0:GSB@S_WS5:RTN

ヒント(2021/11/20追記)
 時計や時刻などを表示するプログラムで、1秒毎にWAIT60(プログラム中の1か所のみ)を使用している場合ならば、WAIT60をGSB@WAIT60のように置き換えると、時計表示に同期してLEDを光らせることができる場合があります。
他のプログラムに使用するときは、変数名が重ならないよう注意してください。

たとえば、SHIRO氏の作られている「ラーメンタイマー」などは、同期してLEDサークルを光らせることができます。
リンク先のプログラムに続けて、このプログラムの1100行目以降を入力し、次の行を追加してください。

170 GSB@WAIT60
900 END
https://www.ichigojaman.jp/entry/ramentimer

同様に「ロゴクロック」も同じように光らせることができます。

250 GSB@WAIT60
900 END
https://www.ichigojaman.jp/entry/20191209/1575818370

※Thank’s SHIRO-san