SHIROのIchigoJam日記

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

BingoJam

ビンゴゲーム用の拡張基板「BingoJam」を作ってみました。7セグメントLED×2個で、2桁の数字を表示します。
f:id:shiro0922:20190921175001j:plain

f:id:shiro0922:20190921191808p:plain

f:id:shiro0922:20190921191829p:plain

数字の1の位をOUT1~4、10の位をOUT5~8で、それぞれ指定します。

OUT (10の位の数字)*16+(1の位の数字)

デコーダーIC・4511で、7セグメントLEDの表示出力へ変換します。
もちろんプログラム次第で、ビンゴ以外にも使えます。

基板データ

*この基板ガーバーデータは、CC BYライセンスとします。どうぞご利用ください。

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

プログラム

  • IchigoJamのボタンを押すと、ビンゴが回って1~75の数字が1個ずつ表示されます。ビンゴなので一度出た数字は出ません。
  • ボタンを1秒長押しするとレビューモードになります。ボタンを押すと、これまで出た数字が1個ずつ表示されます。全て表示すると通常モードに戻ります。
10 @ARUN:'*BingoJam
20 CLV:OUT 0:OUT 8,0
30 @SHOOT
40 IF !BTN() GOTO @SHOOT
50 IF !S SRND ANA(2)+TICK()
60 CLT
70 @PUSH
80 IF TICK()>60 GSB @REVIEW:GOTO @SHOOT
90 IF BTN() GOTO @PUSH
100 W=5:FOR I=1 TO 10:GSB @SHN:NEXT
110 W=20:FOR I=1 TO 5:GSB @SHN:NEXT
120 [N]=1:S=S+1
130 IF S<75 GOTO @SHOOT
140 END
150 @SHN
160 N=RND(75)+1
170 IF [N] GOTO @SHN
180 BEEP 10,2
190 OUT N/10*16+N%10
200 WAIT W
210 RTN
220 @REVIEW
230 N=0
240 @REVLOOP
250 P=1:N=N+1
260 IF N>75 BEEP 30,30:WAIT 60:OUT 0:RTN
270 IF ![N] GOTO @REVLOOP
280 BEEP 30,2
290 OUT N/10*16+N%10
300 @REVB
310 IF !BTN() P=0
320 IF BTN() && P=0 GOTO @REVLOOP
330 GOTO @REVB

レビューモードを無くせばもっと簡単なプログラムになります。
基板の電子工作も含めて、子ども向け教室のネタにいかがでしょうか。

シンプル版ビンゴ

10 @ARUN:'*Bingo
20 CLV:OUT 0:OUT 8,0
30 @SHOOT
40 IF !BTN() CONT
50 IF !S SRND ANA(2)+TICK()
60 W=5
70 FOR I=1 TO 10
80 GSB @SHN
90 NEXT
100 W=20
110 FOR I=1 TO 5
120 GSB @SHN
130 NEXT
140 [N]=1:S=S+1
150 IF S<75 GOTO @SHOOT
160 END
170 @SHN
180 N=RND(75)+1
190 IF [N] GOTO @SHN
200 BEEP 10,2
210 OUT N/10*16+N%10
220 WAIT W
230 RTN