SHIROのIchigoJam日記

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

さっちゃん名刺入れ

2月の大阪のイベントで共立電子の方が持っていた、基板組み込み名刺入れがカッコ良かったので、私も真似して作ってみました。

同じスーツケース型の名刺入れに、IchigoLatte基板を若干カットして押し込みました。ファームウェアIchigoJam BASICに書き換え。

回路としては以前作った「2進数・16進数学習機」と同じで、角形LED×4個と7セグメントLEDを搭載しています。

ちなみにさっちゃんのイラストは「コミPo!」で作りました。

説明動画はこちら。

スロット0「216 Loader」

ボタンを1回押すとスロット1、2回押すとスロット2、3回押すとスロット3のプログラムを選択して実行します。

10 '*216 Loader
20 CLV:CLO
30 GSB 230
40 LET [0],`0111111,`0000110,`1011011,`1001111
50 IF BTN() CONT
60 GSB 270
70 BEEP 30,60
80 IF !BTN() CONT
90 GSB 180
100 '@SLOOP
110 IF BTN() GSB 180
120 IF TICK()<60 GOTO 100
130 BEEP 10,2:WAIT 8:BEEP 10,2
140 WAIT 60
150 GSB 230
160 SRND(TICK())
170 LRUN N
180 '@INPUT1
190 N=N+1:IF N>3 N=1
200 GSB 250
210 IF BTN() CONT
220 CLT:RTN
230 '@CLS7
240 FOR P=1 TO 11:OUT P,0:NEXT:RTN
250 '@PRTN
260 BEEP 10,2
270 '@PRTN1
280 OUT N*128+[N]
290 RTN

スロット1「216 Counter」

2進数・16進数カウンターです。角形LEDで2進数、7セグメントLEDで16進数を表示します。ボタンを押すと0→1→2→…とカウントアップします。15の次は0に戻ります。

10 '*216 Counter
20 CLV
30 LET [0],`0111111,`0000110,`1011011,`1001111,`1100110,`1101101,`1111101,`0100111
40 LET [8],`1111111,`1101111,`1110111,`1111100,`0111001,`1011110,`1111001,`1110001
50 GSB 150
60 '@CLOOP
70 IF !BTN() CONT
80 N=N+1
90 IF N>15 N=0
100 GSB 130
110 WAIT 30
120 GOTO 60
130 '@PRTN
140 BEEP 10,2
150 '@PRTN1
160 OUT N*128+[N]
170 RTN

スロット2「216 Roulette」

2進数・16進数のルーレットです。ボタンを押すとルーレットが回ります。もう1回押すと止まります。

10 '*216 Roulette
20 CLV
30 LET [0],`0111111,`0000110,`1011011,`1001111,`1100110,`1101101,`1111101,`0100111
40 LET [8],`1111111,`1101111,`1110111,`1111100,`0111001,`1011110,`1111001,`1110001
50 GSB 230
60 '@RLOOP
70 IF !BTN() CONT
80 IF BTN() CONT
90 '@RLOOP1
100 N=RND(16)
110 GSB 210
120 WAIT 5
130 IF !BTN() GOTO 90
140 FOR I=1 TO 5
150 N=RND(16)
160 GSB 210
170 WAIT 15
180 NEXT
190 WAIT 30
200 GOTO 60
210 '@PRTN
220 BEEP 10,2
230 '@PRTN1
240 OUT N*128+[N]
250 RTN

スロット3「LEDさっちゃん」

IchigoJamプログラミング教室でおなじみの「なわとびさっちゃん」が、LEDで遊べます。

  • 起動すると、7セグメントLEDの一番下(d)と左下(e)が点灯します。dがさっちゃん、eがなわとびのなわです。
  • なわが時計回りに回ります。なわにぶつからないように、さっちゃんをボタンでジャンプさせてください。
  • 角型LEDは2進数でゲームレベルを表します。スタート時はレベル1で、なわを5回跳ぶとレベルが1上がります。レベルが上がるに連れてなわが速くなります。レベル15のクリアを目指しましょう。
  • さっちゃんがなわにぶつかるとゲームオーバーです。ボタンを押すとレベル1に戻ってリプレイします。

10 '*LED Sacchan
20 CLV
30 LET [0],`0010000,`0100000,`0000001,`0000010,`0000100,`0001000
40 LET [10],`0001000,`1000000
50 '@RESTART
60 FOR P=0 TO 11:OUT P,0:NEXT
70 WAIT 60
80 L=1:T=0:N=-2:J=0
90 GSB 340
100 '@NLOOP
110 N=N+1:IFN>3 GSB 370
120 IF L=16 GSB 280:GOTO 220
130 GSB 340
140 W=(10-N*N)*(15-L)
150 FOR I=0 TO W
160 IF BTN()&&(!J) GSB 400
170 NEXT
180 J=J-(J>0)
190 GSB 340
200 IF N<3 OR J>0 GOTO 100
210 GSB 260
220 '@REPLAY
230 WAIT 60
240 IF !BTN() CONT
250 GOTO 50
260 '@MISS
270 BEEP 30,60:RTN
280 '@CLEAR
290 FOR P=0 TO 11:OUT P,1:NEXT
300 FOR I=0 TO 2
310 BEEP 10,10:WAIT 10
320 NEXT
330 RTN
340 '@PRTN
350 OUT L*128+[N+2]|[10+(J>0)]
360 RTN
370 '@PASS
380 N=-2:T=T+1:IF T<4 RTN
390 T=0:L=L+1:RTN
400 '@JUMP
410 BEEP:J=4:RTN

材料