以前、IchigoJam RPiの速度を活かしたプログラムとして、バーサライタ(POV)を作りました。
ところが、FacebookのIchigoJam-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チカボード」としても使えます。子ども向けの教材にいいかもしれません。