SHIROのIchigoJam日記

マイコン「IchigoJam」(イチゴジャム)の電子工作とプログラミングをメインに

8LEDスティックでバーサライタ

現在開発中のファームウェア1.4βで、LEDテープが簡単に制御できるようになりました。
秋月電子で売っている8LEDスティックを使って、簡単にバーサライタを作ってみました。
動画はこちら。

【IchigoJam】8LEDスティックでバーサライタ

f:id:shiro0922:20190821110940j:plain

8LEDスティックに0.65mm径の単芯線をはんだ付けして、IchigoJamとつなぎます。

LEDスティックの端子 IchigoJamの端子
5VDC VCC
GND GND
DIN LED

IchigoJamのソケットにそのまま挿せますし、スティックを線で支えられるので便利です。
f:id:shiro0922:20190821110941j:plain

プログラムに工夫が必要ですが、専用基板などが無くても簡単にバーサライタが作れるので、お勧めです。

プログラム

実行して、LEDを左右に振ると、ハート形が見えます。
基本的には文字パターンを縦1列ずつ順番に光らせているだけです。
ただ、なるべく高速に表示しないといけないので、全ての列のLED表示用データをVRAMに展開した後、配列変数領域へ順番にCOPYで転送して表示しています。また、VIDEO 0で画面表示を止めて高速化しています。
実行すると画面表示がぐちゃぐちゃになるので、終了後はF8キーで画面を表示した後、F1キーで画面をクリアしてください。
VRAM容量の制限から、表示できる文字は16列までです。
※(8/21修正)LED色指定部分を修正

100 @ARUN:'*POV
110 CLV:VIDEO 0:CLS:P=#900
120 [80]=`00001110
130 [81]=`00011111
140 [82]=`00111111
150 [83]=`01111110
160 [84]=`11111100
170 [85]=`01111110
180 [86]=`00111111
190 [87]=`00011111
200 [88]=`00001110
210 L=9
220 FOR C=0 TO L
230 FOR B=0 TO 7
240 M=128>>B
250 D=[80+C]&M
260 A=P+C*48+B*6
270 POKE A,100*(D>0)
280 NEXT
290 NEXT
300 FOR C=0 TO L
310 COPY #800,P+C*48,48
320 WS.LED 8
330 NEXT
340 GOTO 300

なお、このプログラムではLEDを緑色に光らせていますが、270行

270 POKE A,100*(D>0)

を、

270 POKE A+2,100*(D>0)

に変えると赤色、

270 POKE A+4,100*(D>0)

に変えると青色で光ります。

270 POKE A,100*(D>0)
271 POKE A+2,100*(D>0)
272 POKE A+4,100*(D>0)

と3行並べると白色になります。
3行それぞれの「100」の数値を0~255の範囲で変えると、色が変えられます。例えば、

270 POKE A,5*(D>0)
271 POKE A+2,100*(D>0)
272 POKE A+4,10*(D>0)

でピンクのハートになります。
f:id:shiro0922:20190821220106j:plain
あまり大きい数を指定すると明るすぎて白っぽくなってしまうので、最大100までにしておいた方がキレイです。