IchigoJam組み込みのビンゴマシン、ミニサイズ版です。
動画はこちら。
www.youtube.com
ボタンを押すと、7セグメントLEDで1~75までの数字をランダムに表示します。
基板の上半分は7セグメントLED表示部、下半分はIchigoJam S互換機です。
モニタとキーボードをつなげれば、通常のIchigoJamとしてプログラミングできます。
操作方法
- 電源をONしてしばらくすると「00」表示になります。
- ボタンを短く押すとシュートして、1~75のどれかの数字が出ます。一度出た数字はもう出ません。
- ボタンを1秒間長押しするとレビューモードになります。これまで出た数字が1つずつ表示されます。表示し終わると「00」表示に戻ります。ボタンを押してシュートを続けてください。
回路図
基本的にはIchigoJam Sの互換機です。10Pのピンソケットでファームウェア書き換えやプログラム転送を行います。
OUT1~OUT8の出力を、デコーダーIC・74HC4511で7セグメントLED用の出力へ変換して、数字を表示しています。
OUT8まで使っているので、ハードウェアとしては0~99の数字を表示できます。
基板データ
- Fusion PCB用ガーバーデータ(ZIP)(95×72mm)
*いわゆる「B基板」のサイズで作っています。B基板用のケースやパネルが使えます。
*この基板データは、CC BYライセンスとします。どうぞご利用ください。
(C) 2022 Shiro Saito (https://www.ichigoaman.jp)
材料
だいたい以下の順番ではんだ付けすると作りやすいです。
↑ここまで付けると、ファームウェア書き込みができます↑
- カーボン抵抗(炭素皮膜抵抗) 1/4W470Ω (100本入) R1
- カーボン抵抗(炭素皮膜抵抗) 1/4W100kΩ (100本入) R3
- カーボン抵抗(炭素皮膜抵抗) 1/4W100Ω (100本入) R2、R11-17、R21-27
- スライドスイッチ 1回路2接点 基板用 横向き
- 7セグメントドライバ(7セグメントデコーダ) TC4511BP ×2個
- クリスタル(水晶発振子) 12MHz
- 絶縁ラジアルリード型積層セラミックコンデンサー 15pF50V±5%2.54mm (10個入) C3、C4
- 絶縁ラジアルリード型積層セラミックコンデンサー 10μF16V5mmピッチ (10個入) C1、C2
- 絶縁ラジアルリード型積層セラミックコンデンサー 0.1μF50V2.54mm (10個入) C5
- ★恒佳興★低消費電力LDOレギュレータ(4個入) HX73XX-A(aitendo)
- タクトスイッチ(白色)
- 圧電スピーカー(圧電サウンダ)(13mm)PKM13EPYH4000-A0
- 基板取付用USBコネクタ(Aタイプ メス)
- 赤7セグメントLED表示器OSL10561-LRA カソードコモン カソード共通接続 ×2個
- 基板用RCAジャック(黄)
- 電池ボックス 単4×3本 リード線
プログラム「ビンゴマシン」
以前のビンゴマシンと同じプログラムを動かしています。
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桁の数字を表示する基板なので、アイデアとプログラム次第でいろいろ遊べます(^_^)