SHIROのIchigoJam日記

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

ビンゴマシンミニ

IchigoJam組み込みのビンゴマシン、ミニサイズ版です。
動画はこちら。

www.youtube.com


ボタンを押すと、7セグメントLEDで1~75までの数字をランダムに表示します。


電源は裏面の単4電池×3本です。


基板の上半分は7セグメントLED表示部、下半分はIchigoJam S互換機です。


モニタとキーボードをつなげれば、通常のIchigoJamとしてプログラミングできます。

操作方法

  • 電源をONしてしばらくすると「00」表示になります。
  • ボタンを短く押すとシュートして、1~75のどれかの数字が出ます。一度出た数字はもう出ません。
  • ボタンを1秒間長押しするとレビューモードになります。これまで出た数字が1つずつ表示されます。表示し終わると「00」表示に戻ります。ボタンを押してシュートを続けてください。

回路図


基本的にはIchigoJam Sの互換機です。10Pのピンソケットでファームウェア書き換えやプログラム転送を行います。
OUT1~OUT8の出力を、デコーダーIC・74HC4511で7セグメントLED用の出力へ変換して、数字を表示しています。
OUT8まで使っているので、ハードウェアとしては0~99の数字を表示できます。

基板データ

*いわゆる「B基板」のサイズで作っています。B基板用のケースやパネルが使えます。
*この基板データは、CC BYライセンスとします。どうぞご利用ください。

(C) 2022 Shiro Saito (https://www.ichigoaman.jp)

材料

だいたい以下の順番ではんだ付けすると作りやすいです。

↑ここまで付けると、ファームウェア書き込みができます↑

プログラム「ビンゴマシン」

以前のビンゴマシンと同じプログラムを動かしています。

10 @ARUN:'*IchigoBingo
20 CLV:CLO: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 @SHT1:NEXT
110 W=20:FOR I=1 TO 5:GSB @SHT1:NEXT
120 [N]=1:S=S+1
130 IF S<75 GOTO @SHOOT
140 END
150 @SHT1
160 N=RND(75)+1
170 IF [N] GOTO @SHT1
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 @REV1
310 IF !BTN() P=0
320 IF BTN() && P=0 GOTO @REVLOOP
330 GOTO @REV1

プログラム「100mダッシュ


www.youtube.com
実行すると、「3」「2」「1」とダウンカウントした後、「00」表示になります。
ボタンを連打して100m走ってください。
ゴールするとタイムが「秒の単位2桁」「0.1秒の単位1桁」で交互に表示されます。
ボタンを押すとリプレイします。

10 '*100M DASH
20 CLV:OUT 8,0
30 FOR T=3 TO 1 STEP -1
40 OUT 160+T:BEEP
50 WAIT 60
60 NEXT
70 OUT 0:CLT
80 FOR X=1 TO 100
90 IF !BTN() CONT
100 IF BTN() CONT
110 OUT X/10*16+X%10
120 NEXT
130 T=TICK()
140 OUT 0
150 S=T/60:R=T%60/6
160 BEEP 10,30
170 WAIT 60
180 OUT S/10*16+S%10:CLT
190 IF BTN() RUN
200 IF TICK()<60 GOTO 190
210 OUT R*16+10:CLT
220 IF BTN() RUN
230 IF TICK()<60 GOTO 220
240 GOTO 180

要は2桁の数字を表示する基板なので、アイデアとプログラム次第でいろいろ遊べます(^_^)

プログラム「セレクタ

実行すると、数字が「1」「2」「3」と順番に表示されます。
ボタンを押すと、指定したファイル番号のプログラムを実行します。
ファイル0番にこのセレクタを入れておくと、1~3番の3本のプログラムを選択実行できます。

10 @ARUN:'*SELECTER
20 CLV:OUT 8,0:G=1
30 CLT:OUT 160+G
40 IF BTN() BEEP:WAIT 60:LRUN G
50 IF TICK()<60 GOTO 40
60 G=G+1:IF G>3 G=1
70 GOTO 30