goo blog サービス終了のお知らせ 

レトロでハードな物語

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

メガドライブコントローラー(互換品)をBluetoothコントローラーにしてみた

2025年04月24日 | 電子工作

前回StampS3で簡単にBluetoothコントローラーが作れたので、Amazonで購入したけど使わずにほったらかしになっていたコントローラーもBluetoothコントローラーにしてみることにしました。

それがこちら。

見るからにチープなメガドライブコントローラーの互換品です。もともとコントローラーが欲しかったわけではなく、アタリ仕様ジョイスティックのコネクタにつなげるケーブルが欲しくて購入したものです。当時ケーブルだけを購入するよりこのコントローラーの方が安かったのです。


2つも購入していました。

その目的はMSXの汎用入出力ポート(ジョイスティックポート)に色々なデバイスをつなぐのに使いたかったからです。でも今年の秋月電子の福箱に入っていた「μP-1 ユニバーサル テストボード」の8255でMSXのI/Oポートを拡張することが出来たので、このコントローラー(のケーブル)は必要なくなってしまいました。

これまでマイコンを使って様々なコントローラーをUSB化してきたので、メガドライブコントローラーを使うつもりはなかったのですが、Bluetoothコントローラーが簡単に作れたので、このコントローラーもBluetooth化してみたくなりました。

6ボタンのメガドライブコントローラーからの信号の読み取りはネットで調べれば出てくるので、すぐに配線に取り掛かりました。メガドライブコントローラーは5V動作の様ですが、このコントローラーは3.3Vでも動作しました。

今回もStampS3を使っています。プログラムはBOOTHにアップしました。アップロードしたファイルについては最後に説明します。

前回と同様に小さな基板に配線してみました。

見た目だけでなくボタンもチープなつくりでしたが、使ってみると軽くて以外に使いやすいコントローラーでした。

 

せっかくなのでBluetoothのないPCなどでも使えるようにUSBコントローラーにしてみました。

使ったのはSparkFun Pro Micro(互換品5V動作)です。プログラムはArduino IDEで作成しました。コンパイルにはJoystickライブラリが必要になりますので、ライブラリマネージャーから導入しておいてください。スケッチはアップロードしたファイルに含まれています。

Windows11に接続して動作確認しました。

古いWindowsで使う場合はPro MicroのUSBドライバが必要になります。

 

・アップロードしたファイルの説明

コントローラーのプログラムはBOOTHにアップロードしておきました。

メガドライブ6ボタンコントローラーBluetooth&USB化プログラム

ダウンロードしたファイルを解凍すると3つのフォルダが現れます。

"StampS3_BLE_MegaDrive"フォルダはbluetoohコントローラーのプログラムです。PlatformIO向けのソースとなっています。

Arduino IDEでのコンパイルは確認していませんが、main.cppを"任意の名前.ino"に変更すればコンパイル出来ると思います。ただし利用するときはESP32-BLE-Gamepadライブラリの導入が必要です。現時点ではArduino IDEのライブラリマネージャーを使うと、一つ前のバージョン0.7.3までしかインストール出来ないようです。

"ProMicroMegadrivePad"フォルダはUSBコントローラーのプログラムです。こちらはArduino IDEのスケッチとなっています。コンパイルするにはJoystickライブラリが必要です。Arduino IDEのライブラリマネージャーから導入しておいてください。

・おまけ

前回の自作I2CゲームコントローラーのBluetooth化では、スティックの斜め移動が実装されていませんでした。このままではシューティングゲームの操作がつらいので、斜め移動に対応したプログラムをダウンロードファイルに入れておきました。フォルダ"StampS3_BLE_Gamepad"に入っています。詳細については前回のブログを参照してください。


最新の画像もっと見る

コメントを投稿

サービス終了に伴い、10月1日にコメント投稿機能を終了させていただく予定です。