Arduino ESP32 / スーファミのコントローラーをBluetooth GamePadとして使う


それではESP32の勉強と練習を兼ねて、何か製作してみましょう。
まずはお約束のスーファミのコントローラーを使い、これをESP32でBluetoothデバイスのGamePad化してみます。

とかいいつつ、実は私はBluetoothのことはよく判りません。
PCのマウスやキーボードは有線ですし、スマホで音楽を聴くこともないのでBluetoothはOFFにしています。
しかし、こんな私でもBLEライブラリを使えば簡単にBluetoothを扱えます。

Bluetooth GamePadを扱うライブラリはいくつかありますが、今回は ESP32-BLE_Gamepad を使います。

実験なのでハードはメガドラのコントローラーを自作して失敗したものを流用しました。
Vinに5Vを接続し、使えそうなGPIOにスーファミのピンを定義するだけです。
ところが、ESP32は3.3V駆動なのですが5Vトレラントの入力ピンがありません。
CLKとPSは出力なので3.3Vでもいいのですが、DATAは5V入力なのでレベル変換しないと繋げません。
まあ、スーファミのコントローラーは只のシフトレジスタなので3.3V駆動しても問題ないのですが、一応公式5V駆動なので5Vで使いたいところです。

そこで、分圧すればいいんじゃね?と思ったので、470Ωの抵抗を付けて分圧しました。
これで大体3.3Vぐらいになります。
ツエナーダイオードと違って発振しません。
ただ1箇所だからこれでいいのですが、数があると大変です。














戻る