SHIROのIchigoJam日記

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

バーサライタRPi

IchigoJam RPiの速度を活かして、いわゆるバーサライタ(POV)を作ってみました。
一列に並べた7個のLEDをタイミングを合わせて光らせて、全体を振ると残像効果で絵や文字が見えます。

マイコンは小型のRaspberry Pi Zero Wを使いました。
LEDを並べた拡張基板と、モバイルバッテリを接続します。

回路図はこちら。OUT1〜7に7個のLED、IN1にセレクトボタンをつないでいます。

動かしてみた動画はこちら。
IchigoJamボードでは速度が足りなくてPOVは難しいのですが、ラズパイ版ではそれなりに見えます。
(なかなか見えないのは撮影がヘタだから…笑)

プログラムはこちら。
スロット0にセレクターを入れて、3種類のパターンプログラムを選びます。

セレクター(スロット0)

10 '*POV Selecter
20 VIDEO 0:OUT 7,0:CLV
30 '@LOOP
40 OUT 1<<N
50 CLT
60 '@INBTN
70 IF !IN(1) LRUN N+1
80 IF TICK()<60 GOTO 60
90 N=N+1:IF N>2 N=0
100 GOTO 30

ハート(スロット1)

10 '*POV Heart
20 VIDEO 0
30 W=20
40 LET [0],#04,#0E,#1E,#3C,#1E,#0E,#04,0
50 '@LOOP
60 FOR I=0 TO 7
70 OUT [I]
80 FOR T=1 TO W:NEXT
90 NEXT
100 GOTO 50

雪マーク(スロット2)

10 '*POV Snow
20 VIDEO 0
30 W=20
40 LET [0],0,#22,#14,#7F,#14,#22,0,0
50 '@LOOP
60 FOR I=0 TO 7
70 OUT [I]
80 FOR T=1 TO W:NEXT
90 NEXT
100 GOTO 50

IchigoJamロゴ(スロット3)

10 '*POV Logo
20 VIDEO 0
30 W=20
40 LET [0],#5F,#40,#5C,#54,#54,#40,#5F,#44,#5C,#40,#5D,#00,#5C,#54,#7C,#00
50 LET [16],#5C,#54,#5C,#40,#50,#50,#5F,#40,#5C,#54,#5C,#50,#44,#5C,#44,#5C
60 LET [32],#44,#5C,0
70 '@LOOP
80 FOR I=0 TO 35
90 OUT [I]
100 FOR T=1 TO W:NEXT
110 NEXT
120 GOTO 70

Raspberry Pi 3などの高速なマイコンで動かす時は、30行のWの値を大きくしてください。そうしないと、相当速く腕を振らないと読めません(笑)