SHIROのIchigoJam日記

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

ビンゴマシン「IchigoBingo」

先日、職場の忘年会でビンゴ大会をやったのですが、7セグメントLEDで数字を表示するハンディタイプのビンゴマシンが会場にありました。
「これならIchigoJamで作れるんじゃないか?」と考えて、IchigoJamを組み込んだビンゴゲーム専用機「IchigoBingo」を作ってみました。


秋月電子で買った超大型16セグメントLEDを、デジタルトランジスターRN1201でドライブしています。
本来はLEDに電流制限抵抗を付けないといけない所ですが、検討中です。

数字表示のコントロールは、2進−7セグメントデコーダー74HC4511を使っています。
ビンゴゲームの数字は1〜75で、10の位は0〜7を出せばいいので、信号線が1の位4ビット+10の位3ビット=合計7本で済むのがミソです。それぞれOUT1〜7(LED)に割り振って出力しています。

効果音出力は、2SC1815で増幅してスピーカーを付けました。100均の立方体スピーカーを分解して、内部のスピーカー部品を取り出して使っています。
※参考:以前に作った2SC1815スピーカーアンプ。今回も同じスピーカーを分解して使っています。

操作は「Bingo64」と一緒で、ボタンを短く押すとシュート、1秒間長押しするとレビューモードになります。BTN端子は自動起動のためにGNDに落として、ボタン入力にはIN1を使っています。

回路図と基板配線図はこちら。

ビンゴのプログラムはこちら。

1 '*IchigoBingo
2 CLV:OUT 0
3 '@SHOOT
4 IF IN(1) GOTO 3
5 IF !S SRND ANA(2)+TICK()
6 CLT
7 '@PUSH
8 IF TICK()>60 GSB 22:GOTO 3
9 IF !IN(1) GOTO 7
10 W=5:FOR I=1 TO 10:GSB 15:NEXT
11 W=20:FOR I=1 TO 5:GSB 15:NEXT
12 [N]=1:S=S+1
13 IF S<75 GOTO 3
14 END
15 '@SHOOT1
16 N=RND(75)+1
17 IF [N] GOTO 15
18 BEEP 10,2
19 OUT N/10*16+N%10
20 WAIT W
21 RTN
22 '@REVIEW
23 N=0
24 '@REVIEWLOOP
25 P=1:N=N+1
26 IF N>75 BEEP 30,30:WAIT 60:OUT 0:RTN
27 IF ![N] GOTO 24
28 BEEP 30,2
29 OUT N/10*16+N%10
30 '@REVIEW1
31 IF IN(1) P=0
32 IF !IN(1) && P=0 GOTO 24
33 GOTO 30