SHIROのIchigoJam日記

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

StickJam-LED

以前作ったスティック形のバーサライタ用IchigoJam「StickJam」
www.ichigojaman.jp
を、LEDを通常の5mmLEDに変更した廉価版「StickJam-LED」を作りました。
動画はこちら。

f:id:shiro0922:20210519135121j:plain

f:id:shiro0922:20210521235819p:plain

8個のLEDはOUT1~OUT8につながっているので、単純にOUT命令でON/OFFできます。
あとはプログラム次第でいろいろ遊べます。

f:id:shiro0922:20210519134926j:plain
電源は裏面の単3電池×3本です。
ビデオ端子・キーボード端子が付いているので、通常のIchigoJamと同様にプログラミングできます。

f:id:shiro0922:20210521173728j:plain
オプションでWS2812B(NeoPixel、LEDテープ)を付けて、フルカラーでバーサライタもできます。

基板データ

f:id:shiro0922:20210522000248p:plain

*同じ基板を4枚割り付けています。基板サイズが大きいので製作費がかかります。ご注意ください。
*この基板データは、CC BYライセンスとします。どうぞご利用ください。

(C) 2021 Shiro Saito (https://www.ichigojaman.jp)

材料

プログラム

バーサライタ(POV)

左右に振るとハート形が見えます。

10 @ARUN:'*POV Heart
20 CLV:OUT 8,0
30 [0]=`00001110
40 [1]=`00011111
50 [2]=`00111111
60 [3]=`01111110
70 [4]=`11111100
80 [5]=`01111110
90 [6]=`00111111
100 [7]=`00011111
110 [8]=`00001110
120 L=9
130 FOR I=0 TO L
140 OUT [I]
150 NEXT
160 GOTO 130

30~110行の0,1のパターンを改造すると、表示する文字を変えられます。

通信対戦スカッシュ

2台のStickJam-LEDのTX,RX,GND端子を、ケーブルでクロス接続して遊びます。

TX RX
RX TX
GND GND
  • 2台でRUNしたら、どちらかでボタンを押してボールをサーブします。
  • ボールがもう片方へ行くので、LED8が点灯した時にボタンを押して打ち返します。
  • LED8が消えるまでにボタンを押さなかった場合(遅すぎ)、LED8が点く前にボタンを押した場合(早すぎ・お手つき)、どちらもミスになります。ミスになった方でボールをサーブしてリプレイしてください。
10 @ARUN:'SQUASH BATTLE
20 W=10
30 OUT 0:OUT 8,0
31 UART 1
32 IF BTN() GOTO 90
33 K=INKEY():IF K<48 GOTO 32
34 UART 0:W=K-48
35 M=0:R=0
40 FOR P=1 TO 8
50 OUT P,1
60 WAIT W
65 IF BTN() IF P<8 M=1 ELSE R=1
70 OUT P,0
80 NEXT
85 IF M OR !R GOTO 150
87 W=W-1:IF W<0 W=0
90 FOR P=7 TO 1 STEP -1
100 OUT P,1
110 WAIT W
120 OUT P,0
130 NEXT
131 UART 1
132 ?CHR$(48+W)
133 UART 0
140 GOTO 30
150 OUT 255
160 WAIT 120
170 RUN

フルカラーバーサライ

オプションで付けたWS2812Bを使うバーサライタです。
ピンク色のハート形が見えます。

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,5*(D>0)
271 POKE A+2,100*(D>0)
272 POKE A+4,10*(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

以前に作ったプログラムです。詳しくはこちら。
www.ichigojaman.jp