レトロでハードな物語

レトロなゲーム機・マイコン・中古デバイスなどをArduinoやAVRで再活用する方法を模索しています。

カプセルトイのゲーム機をマイコンのコントローラーにする2

2023年02月08日 | 電子工作

液晶ミニゲーム機から配線を引き出せたので、次はマイコンにつないで動作確認をしてみます。

確認にはGR-COTTONを使ってみました。開発環境もライブラリもほぼArduino IDEと同等なので使いやすく、マイコン固有の機能を使わなければスケッチは変更することなくLeonardとかPro Miniなどでそのまま利用できます。普段よく利用するPro Miniよりも便利に使えそうだったので、また秋月電子八潮店に行って3個ほど追加購入しています。

さて、ボタンのマトリックス配線を引き出した液晶ミニゲーム機ですが、マトリックス回路がちょっと変則的できれいな格子状にはなっていません。省スペースのためか100円ショップの小型電卓などもこういうタイプが多くなりました。プログラムで(たぶん)扱いやすい配線の組み合わせを図にするとこんな感じになります。

配線の引き出し方によって変わってしまいますが、今回引き出した配線でピンソケットに左から1ピン、2ピン・・・9ピンと番号をふったとき、1・2ピンは圧電ブザーにつながっていて、3ピンから9ピンが引き出したマトリックス配線となり、これを左からLINE1〜LINE7としました。

ミニゲーム機右下のROTATEと書かれている4つのボタンは内部で結線されていて1つのボタンとなっています。ゲーム機付属のマニュアルでも1つのボタンとして扱われていました。ところがLINE5とLINE6で4つボタンの左下だけオンオフを拾えました。ただ、これをスキャンすると他のボタンのスキャン処理に不都合が生じるので今回は無視しました。

GR-COTTONとの接続は、以下のようにしました。

ミニゲーム機 − CR-COTTON
1ピン − GND
2ピン − 13ピン
3ピン − 12ピン
4ピン − 11ピン
5ピン − 10ピン
6ピン −  9ピン
7ピン −  8ピン
8ピン −  7ピン
9ピン −  6ピン

GR-COTTONはIDE for GRのシリアルモニタでテキスト表示を行えますが、今回はI2C接続のOLEDモジュールSSD1306を表示デバイスに使ってみました。GR-COTTONにはI2Cの端子が左右に2つあるのでデバイスの接続に便利です。

また、GR-COTTONの背面にはボタン電池を入れることが出来るので電池で動作させてみました。

電池を使うときは背面のジャンパをUSBからBATTに切り替える必要があります。さらに、このときボード前面下部にあるスイッチで電源のオンオフが出来るようになっています。

動作確認用のスケッチはこちらになります。

MiniController.ino (マウスの右クリックでダウンロードしてください)

また、OLEDの表示にこちらのサイトのフォントを使わせていただきました。ページの下の方にあるfont6 (6x8dotフォント)をコピペして、font.hという名前のファイルを作ってください。これを上記のスケッチと同じフォルダに入れておきます。

このスケッチを実行すると、ミニゲーム機のボタンを押したときOLEDにボタンの名称が表示され、圧電スピーカーからドレミの音階が出力されます。

これで液晶ミニゲーム機が入力とサウンド出力が出来る便利なデバイスになりました。Pro MicroなどでXInputゲームコントローラーにするのも簡単です。ただし方向キーが小さすぎて押しにくいのでアクションゲームの操作には向いてないですね。


SparkFun Pro MicroでXbox360コントローラーにしてプレイステーションクラシックにつなげたところ

スケッチはこちら

ProMicroLCDminiGameXinput.ino (マウスの右クリックでダウンロードしてください)

コンパイルするにはXInput Libraryが必要です。


最新の画像もっと見る

コメントを投稿