ナイトライダーとは?
LEDを横一列に並べ、光る位置を左右に往復させるやつ。
ナイトライダー(デアゴスティーニ)とは?
カーアクションドラマらしい。
紹介映像の中に、光の点灯位置が左右に動く表現がみられる。
なお、よくみられるナイトライダー[要出典]とは異なり、複数の光が同時に点灯している。
今回作るもの
IchigoJam 1.4 から追加された、WS2812B系のLEDを光らせるWS.LED
コマンドを用い、
LEDの点灯位置を左右に往復させる。
複数の光の同時点灯に対応する。
今回は、2個目以降の光の明るさ設定を線形に減らすことにした。
実装
ちょうど今日解いた問題 A - Swimming の解き方を応用した。
現在何ステップ目かを変数P
で管理し、光の位置X
を求める。
変数I
を用い、最後尾から先頭の順に光の位置を求めていく。
参考資料:LEDテープを光らせよう - ledtape.pdf
以下の項目を設定できる。
-
N
:光らせるLED全部の数 -
M
:同時に光らせるLEDの数 -
T
:光を動かす時間間隔 (1/60秒単位) -
B
:設定する最大の明るさ
10 ' ナイトライダー
20 CLV:N=8:M=3:T=3:B=100
30 FORI=0TON-1:[I*3+1]=0:NEXT
40 Y=N-1:FOR I=1 TO M
50 X=P+I-1
60 IFX%(Y*2)<YX=X%YELSEX=Y-X%Y
70 [X*3+1]=B*I/M
80 NEXT:WS.LED N
90 P=(P+1)%(Y*2)
100 IF TICK()<T GOTO 100
110 CLT:GOTO 30
実行結果
今回は、IchigoKamuy (IchigoJam BASIC 1.4.1) で実行した。
LEDモジュールのDINは、SDAがある側の端子の一番USBコネクタから遠いところに接続すると、光らせることができた。
おわりに
- IchigoJamはjig.jpの登録商標です。
- IchigoKamuyは株式会社syushuの登録商標です。