WiiのClassicControllerをUSB接続に!
NESやPCSXでGameする時に、Mac用のGamePadが欲しいですね。 私の家にはWiiのClassicControllerがあるんです。これをMacにつないで兼用で使えたらいいのに。 それならば、AVR(小型マイコン)でUSB接続変換のアダプタを作ってみましょう。
V-USB
AVRの場合、V-USBというLibraryを使い、USBのI/Fが搭載されていない低価格AVRでも低速USB通信をさせちゃうんです。
回路
Wiiのクラコンは3.3V動作。 なので3.3Vで12MHz動作が可能なATmega88P-20PUを使用します。
USBの5V電源から3.3Vを生成して変換器自体も3.3V動作で製作することにしました。
製作
コンデンサや抵抗は手持ちのモノで近い値のものを使いました。新たに買ったのは、
・ATmega88P-20PU--¥150/個
・12MHz------------¥200/5個入
・22pF--------------¥100/10個入
USBケーブルは廃マウスから再利用。新規部品代は500円以下です。
接続
3.3Vのレギュレータは200mA~500mAのものならなんでもOKでしょう。
Wiiコネクタ
ん?FireWireのコネクタと似てるな。同じ6ピンだぞ? 試しにブッ挿してみた。
(笑) ピッタリだ!!
完成
さ、動くかな??
デバック
ClassicControllerとの通信手順とデコーダ、アナログスティックの初期化部分だな。
完成!
改良/デバック後、無事動きました! HIDデバイスとしてMacで認識します。アナログスティックもちゃんと使えます。システムを不安定にしかねないkextをインストールするUSB OverdriveとかWiijiとかは必要ないのです。FRISKのケースに組み込んでみました。コンパクトです。実際のGameで使ってみましたが、反応速度の遅れなどは感じません。動作確認したのは以下。
・PCSX-Reloaded(PS)
・Snes9x(NES)
・sixtyforce(N64)
・D1X Rebirth(DESCENT1)Windowsでも使えると思いますが・・・(未確認)
一応ソースと回路図公開しときます。先人達の解析や、世界のみなさんがそれぞれソースを公開してくれていたからこそできたんですよね。
(なので私も自分の成果は公開しときます。)