このブログでは、工作の記録、実験の結果や考察が散逸しないように専ら備忘録に使ってます。プログラムのソースや設計データ等は載せていませんが、詳しく知りたい方がおりましたらコメントいただければ対応します。

所有する主な測定器はこちらです。


2012年11月27日火曜日

Wiiリモコン互換のスーパーファミコンコントローラの製作

このごろiPhone/iPadで懐かしゲームを遊んでます。
やっぱアーケードゲームはMAME とか、SNES9xでスーファミとかできちゃうわけです。
でもiPadにはキーがありません。そこでタッチパッド上の指定部分にコントローラのボタンが浮かび、それを下の画像のようにタッチすることでコントロールします。
で、これがまた使いにくい、これでは楽しさ半減です。
特にiPhoneでは、もう、無理(笑。

この点はエミュレータ製作者側もよく考えていて、これら懐ゲームのエミュレータはWiiリモコンが使えます。iPad/iPhoneはブルーツースを内蔵し、Wiiリモコンも通信にブルーツースを使用しているからです。(MAME/androidも同じようにWiiリモコン使えるみたいです)


 実際にはこんな風に使ってます。
  
でもWiiリモコンはボタンがコントローラ上面下面に配置してあるので、無線化したとしてもコントローラ自体が使いにくいです。Aボタンが上面、Bボタンが下のトリガーじゃあ。。。

Wiiのユーザーさんにも、コントローラも昔の感じがいい!って思う人もいるみたいで、任天堂さんはWiiリモコンのオプションとしてクラッシックコントローラなるものを販売しています。このリモコンのケーブルをWiiリモコンにお尻に挿せばOKです。一応これで遊びやすくはなります。一 応 は、 ね 。 。 。
でも、でも、でも、せっかくブルーツースのリモコンにしたのに、またケーブル!ってな感じで不満です。これじゃあ外で遊ぶのに持ち運びが不便だし、なにしろカッコ悪い。もっとスマートにしたいわけです。

てなわけで、スーパーファミコンのコントローラをWiiリモコン互換に改造してしまえばいいよねとつながるわけです。(やっとか)

さっそく、スーパーファミコンのコントローラを入手します。懐かしいですね。やはりゲームコントローラの中でこいつが一番手に馴染むような気がします。
これからやりたいことを改めて書くと、ファミコンのコントローラをWiiリモコン化してしまえば、エミュレーターでスーパーファミコンコントローラが使えちゃうぜ、すげー みたいなことです。

先ほど書いたように、Wiiリモコンはブルーツースを使って無線通信しています。ブルーツース機能をスーパーファミコンのコントローラに入れるためには、Bluetoothの無線モジュールとコントロールするCPUを組み込まないといけませんが、このモジュールがクソ高い。たとえばこんなモジュールがありますが5千円以上、さすがに買えないなあ。

もっと安く仕上げるために、 この写真みたいなUSBドングルをマイコンにつなげることにしました。これならamazonでも1000円未満、アキバなら500円くらいで転がってます。しかもWii互換リモコンにするならEDRv2.0、飛距離が10m、値段も安いやつで十分です。

完成イメージは、こんな感じ。ファミコンのコードをぶっちぎって、そこにUSBドングルの頭がピョコンと出ているような感じにします。

ではこれを制御するマイコンはどうしましょう。USBドングルをコントロールするためにはUSBホスト機能が必要です。今回は16ビットのPICマイコンにUSBホスト内蔵のPIC24FJ64GB002という、省電力なマイコンで入手が比較的簡単なPICを使ってみます。
このPICに、USBスタック+Bluetoothスタック+コントローラ信号処理を組み合わせた独自ファームを書き込みます。下の写真はバラックテストの風景です。
うまく動くようになったところで、そろそろコントローラをバラしてみましょう。
ミツミの基板が出てきました。
さて、このファミコンコントローラの隙間にコントロール基板を内蔵させます。下の写真のようなコントロール基板を設計し、いつもの格安基板屋FUSIONに基板を作ってもらいました。

所謂無線リモコンを作るので、やはりバッテリー内蔵でやるべきでしょう。今回はリチウムイオンポリマー電池を使いました。

Wiiリモコンと同じような4つの青LED(写真の左下部分)を付け、USBで充電&Firm書き換え可能、バッテリー搭載の基板を設計しました。ミツミの基板の端子穴にあわせて設計基板にもランドを作ってあるので、ミツミ基板に重ねてジャンパーを通せば接続OKです。

省電力設計なので、満充電で2−3時間は使えます。
これをいつもの基板屋FUSIONに出しました。

部品を手半田で実装し、先ほどのミツミの基板の裏にくっつけます。電池下部の5ピンのコントローラ端子を2枚の基板を貫通するようにハンダ付けします。

コントローラのケースに入れると写真のようにぴったりに入りました。隙間みっちりです(笑。裏蓋はLED用の穴をあけ、LEDの光を導くためにアクリル棒を入れてあります。

というわけで、このように出来上がりました。
裏から見ると、左下に青LED用の穴が4つ、中央に充電LED用に穴が1つ見えます。

このコントローラでさっそく遊んでみました。懐かしのアーケードゲームの1943です。操作性バッチリです。

スーファミだとスーパーボンバーマンが最大5人で遊べます。ちゃんとコントローラ5台が同時に使えるのか検証するため、5コントローラのリンクアップ動画を撮ってみました。

iPadの画面サイズでもいいんですが、おうちで遊ぶときは外部モニタに出力させて遊んで見るのも楽しいです。プロジェクターで投影するのもアリでしょう。
やはりケーブルが無いのはとてもスマートで良い感じです。

注)ROMダウンロードは違法です。このblogで遊んでるゲームデータは全て手持ちのカセットから吸い出したものです。

応援クリックをお願いします!

にほんブログ村 その他趣味ブログ 電子工作へ
にほんブログ村 電子工作ランキング

3 件のコメント:

  1. はじめまして。
    無線化.comを運営しておりますエイディシーテクノロジー株式会社 清水と申します。

    このたび当ブログにて、Bluetoothを使った電子工作をされていることを知りました。
    現在無線化.comでは当社Bluetoothモジュールのレビュー記事を執筆していただける方を探しております。
    ブログにレビュー記事を掲載していただけることを条件に無償にてモジュールをご提供するという試みです。
    もしご興味がございましたら無線化.comよりご一報いただけましたら幸いです。
    それではご検討宜しくお願い致します。

    返信削除
    返信
    1. はじめまして。
      記事を読ませていただき、こちらのコントローラーがほしくてほしくてたまりません。よろしければ譲ってはいただけないでしょうか?
      bnr32.v-spec2_rb26dett@docomo.ne.jp
      までご連絡お待ちしております。

      削除
  2. はじめまして。wiiのクラシックコントローラがwiiリモコンに接続して使うというのがわずらわしくて検索していたら辿り付きました。
    まさかあのスーファミのコントローラをwiiのコントローラに変えてしまうなんて・・・しかもブルーツースで。基盤からファームウェアまで作ってしまうなんて驚愕しました。
    当方はマイコンに興味があるのですが、初心者には敷居が高く指をくわえて眺めている状態です^^;
    子供の夏休みの課題などちょっとしたものなどから作ってあげれればいいなぁと思っているのですが、初心者に参考になる書籍などないでしょうか?

    返信削除