カットして配線するときれいですが、横着して折り曲げ加工。
ちょうどいい空き箱発見、和紙をカッターでハコ形に切り出します。
この当たりでひとまずランダムに30コ全部を使って光らせるプログラム作成。(解説)
10 POKE#700,240,181,68,24,90,32,12,73,114,182,128,37,35,120,1,52,255,34,74,96,3,39,10,38,43,66,1,208,10,39,3,38,1,63,253,209,0,34,74,96,1,62,253,209,109,8,239,209,1,56,234,209,98,182,240,189,0,0,1,80 20 C=RND(1000):GSB100:WAIT60:CONT 100 FORI=0TO29:POKE#800+I*3,C/10%10*3,C/100*3,C%10*3:NEXT 110 U=USR(#700,#800):RTN
7セグLEDの扱い方は、とても良い解説記事がこちらにあります。
「IchigoJamの7セグLEDタイマーで16進数を学ぼう! – しずかなかずし」
折り曲げたテープ状フルカラーLED、上下が5つ、その他が4つでセグメントを表しています。
7セグLEDの表示パターンをそのまま使うことにしたので、対応表を配列にいれて、変換するプログラムがこちら。
10 POKE#700,240,181,68,24,90,32,12,73,114,182,128,37,35,120,1,52,255,34,74,96,3,39,10,38,43,66,1,208,10,39,3,38,1,63,253,209,0,34,74,96,1,62,253,209,109,8,239,209,1,56,234,209,98,182,240,189,0,0,1,80 20 FORK=0TO9:C=RND(1000):N=K:GSB100:WAIT60:NEXT:CONT 100 LET[0],#7B,#30,#67,#76,#3C,#5E,#5F,#78,#7F,#7C:N=[N] 110 LET[0],400,504,426,422,409,413,517 115 FORI=10TO44:[I]=0:NEXT 120 FORI=0TO7:IF N>>I&1 M=[I]:FORJ=0TOM/100-1:POKE#814+(J+M%100)*3,C/10%10*3,C/100*3,C%10*3:NEXT 130 NEXT:U=USR(#700,#814):RTN
10行は上記と一緒、WS2812Bドライバ、マシン語プログラム。
100行で7セグのパターンを設定。(7セグLEDの解説通り)
110行ではそのセグメントが30コのフルカラーLEDの何個に対応するかと、その位置を設定しています。
VRAMやPCG領域も空いているのでそちらを使ってもOKですが、今回は配列領域を使っています。
ひとまず電池駆動で詰め込んでみます。
立てて置くイメージ、なかなかいい感じ!
こんな風に、0から9までを1秒おきにランダムな色で表示します。
秒針1桁だけ表示する時計のできあがり!
オシャレ温湿度計や、オシャレサイコロなど、いろんなイルミネーションに応用ください。