SHIROのIchigoJam日記

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

ビンゴマシンPCB

以前ユニバーサル基板で作ったビンゴマシン
www.ichigojaman.jp
を改良して、プリント基板でリメイクしました。
動画はこちら。

www.youtube.com


基本的にはIchigoJam Sの互換機で、BASICプログラムでビンゴマシンを実現しています。

操作方法

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

回路図


基本的にはIchigoJam Sの互換機です。10Pのピンソケットでファームウェア書き換えやプログラム転送を行います。
OUT1~OUT8の出力を、デコーダーIC・74HC4511で7セグメント用の出力へ変換。トランジスタアレイ・ULN2803を介して、大型7セグメントLEDを光らせています。

基板データ

*いわゆる「A基板」のサイズで作っています。A基板用のケースやパネルが使えます。
*サイズが100mmを越えているので、基板製作費用がかかります。発注する際はご注意ください。
*この基板データは、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

USB3シリアル基板

IchigoJamとパソコンをUSB3ケーブル(Type-C)でつないで、シリアル通信・プログラム転送や、ファームウェア書き換えをするUSBシリアルモジュール基板です。
市販のUSBシリアルモジュールでももちろんできますが、この基板はIchigoJam専用なので手軽につなぐことができます。
CH340チップ搭載の安価なUSBシリアルモジュールを使っています。
ISPスライドスイッチは以下のように切り替えます。

ボード シリアル通信時 ファームウェア書き換え時
IchigoJam S以前 R<(VCC) >S(GND)
IchigoJam R >S(GND) <R(VCC)

Resetボタンを押すとリセットがかかります。


IchigoJamのCN3とCN5に差します。
L型ピンヘッダをCN3のみに差す方法もあります。

回路図

基板データ

*同じ基板を6枚割り付けています。
*この基板データは、CC BYライセンスとします。どうぞご利用ください。

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

SanadaJam-RL


IchigoJam Rの互換機です。
RのRISC-VのIC「GD32VF103CBT6」は、IC単体ではほとんど入手不可能です。
が、このICを組み込んだ開発ボード「Longan Nano」
akizukidenshi.com
はそれなりに手に入るので、これを搭載したR互換機を作ってみました。

Longan Nanoが長いので、基板も縦に長くなっています。IchigoJam用のケースには入らないのでご注意ください。


Longan Nanoは液晶ユニットは外して、付属のピンヘッダをはんだ付けします。


Longan Nanoから横に突き出したピンヘッダに、2列のL型ピンソケット(8P)を差して、基板に載せてはんだ付けします。
子ども向け工作教室では、この形のハーフキットにして配布するといいと思います。


モニタとキーボードをつなげば、普通にIchigoJam Rとして使えます。

回路図


8MHzクリスタルや3.3VレギュレータはLongan Nanoに搭載されているので、SanadaJam側では省略しています。
Longan Nanoは800円くらいするのですが、それらのパーツが載っていることを考えると、全体のコストは本家IchigoJam Rとそこまで大きな差はありません。
Longan Nanoが載ったハーフキットにして工作教室で配布すれば、その後にはんだ付けするパーツ数は本家より少なくなります。

基板データ

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

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

材料

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

↑ハーフキットにするにはここまではんだ付け↑

ファームウェアの書き込み:(Case1)Longan Nano搭載のUSB3端子を使う場合

IchigoJam Rとして動かすには、Longan Nanoへファームウェアを書き込む必要があります。
Longan NanoのUSB3端子を使うと、USBシリアルモジュールを持っていなくても書き込みできます。ファームウェア書き込み初心者向けです。

1.ファームウェアファイルをダウンロード

IchigoJam公式サイトのダウンロードページから、ver 1.5.0のファームウェアファイルをダウンロードします。
展開したファイル内の「ichigojam-r.bin」がファームウェアファイルです。

2.Longan Nanoのツールをダウンロード

SipeedのLongan Nanoツールのダウンロードページ
https://dl.sipeed.com/LONGAN/Nano/Tools/

から、「GD32_MCU_Dfu_Tool_V3.8.1.5784_1.rar」をダウンロードします。
ダウンロードしたファイルを展開しますが、RAR書庫ファイルなのでWindows標準機能では展開できません。
7-zipなどのアーカイバツールを使って展開してください。

書庫を展開すると、フォルダが2個できます。
「GD32 MCU Dfu Drivers」:ドライバ
「GD32 MCU Dfu Tool」:書き込み・読み出しツール

3.ドライバをインストール

「GD32 MCU Dfu Drivers」フォルダ→「x64」フォルダ→「GD32 MCU Dfu Drivers.exe」を実行して、ドライバをインストールします。

4.PCとLongan NanoをUSB3ケーブルで接続

5.Longan NanoをISPモードにする

Longan Nanoにある2個のボタンを使います。

  • (1)BOOT0ボタンを押しっぱなしにする
  • (2)RESETボタンを押して離す
  • (3)BOOT0ボタンを離す

これでISPモードになります。

6.ツールを起動して書き込み

「GD32 MCU Dfu Tool」フォルダ→「GD32 MCU Dfu Tool.exe」を起動します。

起動時に更新確認の画面が出ますが「いいえ」を押してキャンセルしてください。
※「はい」を押してもリンク切れで更新できません。

ツールのウインドウが表示されます。
Longan NanoがISPモードになっていれば、デバイス名が表示されます。

  • (1)「Download to Device」をクリックして選択
  • (2)「open」ボタンをクリックして、ファイルダイアログからファームウェアファイル「ichigojam-r.bin」を選択。標準だと「~.hex」ファイルしか選べないので、ファイルの種類フィルタを「~.bin」に変えてください。
  • (3)「OK」ボタンをクリックして、ファームウェアを書き込み

書き込みが終わったらツールを終了します。

7.Longan Nanoをリセット

Longan NanoのRESETボタンを押すと、リセットがかかります。
このままでもUSB3ケーブルからの給電でIchigoJam Rとして起動して、モニタ画面は映りますが、キーボードが使えません。
(Longan Nanoのキーボードインターフェースとバッティングするため)

8.周辺機器を配線、動作確認

Longan NanoからUSB3ケーブルを外します。
ビデオ端子に液晶モニタ、USB A端子にUSBキーボード、micro USB端子にUSB電源をつなぎます。
電源スイッチをONにして、モニタ画面の表示や、キーボードから文字が入力できることなどを確認します。

ファームウェアの書き込み:(Case2)USBシリアルモジュールを使う場合

既にIchigoJamファームウェア書き換えの経験があって、USBシリアルモジュールを持っている場合は、それを使って書き込みできます。

1.USBシリアルモジュールを、ピンソケットに接続

SanadaJam-RLのピンソケットCN3を使って、TX、RX、VCC、GNDを接続します。
ISP端子はつながっていないので使えません(Longan Nanoの端子にISPが出ていません)。

2.Longan NanoをISPモードにする

上のCase1-5.と同様に、Longan Nanoの2個のボタンを使ってISPモードにします。

3.ファームウェアを書き込む


IJUtilitiesFirmware Writerなどを使って、ファームウェアを書き込みます。

4.Longan Nanoをリセット

Longan NanoのRESETボタンを押すと、リセットがかかって通常モードになり、IchigoJam Rとして起動します。
IJUtilitiesなどを使ってシリアル通信ができます。