SHIROのIchigoJam日記

IchigoJamの電子工作とプログラミングをメインに

POVシールド

以前、IchigoJam RPiの速度を活かしたプログラムとして、バーサライタ(POV)を作りました
ところが、FacebookIchigoJam-FANグループの書き込みで、通常のIchigoJamボードでもOUT出力が意外に速い測定結果が出ました。
それならIchigoJamボードでやってみよう!と、ユニバーサル基板で「POVシールド」を作ってみました。

回路は単純で、OUT1〜8(実際はOUT1〜6,LED,IN1)にLEDを8個つないで並べただけです。

実際に動かしてみた動画はこちら。左右に振るとハートマークが見えます。

プログラムはこちら。20〜90行で配列変数に設定したデータを順に表示します。
例として、IchigoJamの文字にあるハート形を、横に90°回転させて設定しました。
VIDEO 0で画面を消さなくても、速度は十分です。

10 '*POV
20 [0]=`00000110
30 [1]=`00001111
40 [2]=`00011111
50 [3]=`00111110
60 [4]=`00011111
70 [5]=`00001111
80 [6]=`00000110
90 [7]=`00000000
100 L=7
110 FOR I=0 TO L
120 OUT [I]
130 NEXT
140 GOTO 110

応用編のプログラムはこちら。30行で設定した文字列を表示します。
(配列変数の都合で11文字以内)

10 '*POV
20 CLV:VIDEO 0
30 P="UEDA"
40 L=LEN(P)
50 FOR I=0 TO L-1
60 A=PEEK(P+I)*8
70 FOR D=0 TO 7
80 [90+D]=PEEK(A+D)
90 NEXT
100 FOR B=0 TO 7
110 FOR D=0 TO 7
120 [I*8+B]=[I*8+B]>>1+([90+D]&128)
130 [90+D]=[90+D]<<1
140 NEXT
150 NEXT
160 NEXT
170 FOR J=0 TO L*8-1
180 OUT [J]
190 NEXT
200 GOTO 170

このPOVシールド、単純にOUT1〜8ポートから8個のLEDを光らせる「Lチカボード」としても使えます。子ども向けの教材にいいかもしれません。