ゲーム機・Xbox360の初期モデルに組み込まれているゲームコントローラーのレシーバーモジュールはUSBとほぼ互換があるため、この部品を活用することで、Windowsで動作するXbox360ゲームコントローラーレシーバーを自作できます。
電源やDVDドライブが故障していて動作しない、いわゆるジャンク品を調達し、これを分解していきます。フリマサイトでなくても、「何でも買い取る」を謳っているリサイクルショップでなら、500円ほどで手に入ります。
ハードディスクを収納する部分の蓋を開け、外箱を固定している爪を外し、内側の箱を取り出します。
電源ボタンの真裏にある基板にレシーバーモジュールが組み込まれています。この基板の写真右下にあるコネクターがUSBにつながっているので、100円均一などで買ってきたUSBケーブルをはんだ付けしていきます。
気をつけたいのが、モジュールに通すべき電圧は3.3Vで、USBの5Vよりも低いという点です。
3.3vツェナーダイオード(1N4728A)やレギュレーターを間に挟んで、必ず電圧を下げた状態で通電させましょう。
これだけでパソコンからはUSB機器として認証することはできます。が、コントローラーとのペアリングにはさらに改造が必要です。
USB接続ピンの下は、シリアル通信のピンが割り当てられており、ここに信号を送ると電源ボタンのランプの制御や、ペアリングモードにすることができます。
では、この信号をArduinoを使って送ってみましょう。下の回路図にように、電源ピンをArduinoのD2ピンに、その電源ピンの隣のピンをD3ピンに、5つあるうちの中央のピンをD4ピンに接続します。また、10kΩのプルアップ抵抗をシリアルピンに追加しておきます
投稿者がGithub Gistで公開しているArduinoのスケッチをパソコンに保存して、このプログラムを書き込みます。
レシーバーモジュールやArduinoに問題がなければ、電源ボタンを押すことで、Arduinoからペアリングのための信号が送信され、ペアリングができるようになります。
Windows 7や、少し古いWindows 10ならこのままいけるのですが、比較的新しいバージョンでは、OSによるデバイスドライバーの識別がより厳格になったことにより、正しいデバイスとして認識してくれないことがあります。
ハードウェア制作の範疇から外れてしまいますので、ドライバーを認識させる方法は別記事にまとめてあります。詳しくは投稿者のブログをご覧ください。
投稿者の人気記事
-
tnksoft
さんが
2021/02/20
に
編集
をしました。
(メッセージ: 初版)
-
tnksoft
さんが
2021/02/20
に
編集
をしました。
-
tnksoft
さんが
2021/02/26
に
編集
をしました。
Opening
TiagoBrito
2021/08/05 -
tnksoft
さんが
2022/01/18
に
編集
をしました。
ログインしてコメントを投稿するプロジェクトはある程度機能し、コントローラーがすでに接続されていれば正常に機能しますが、新しいコントローラーでは同期しません。プロジェクトでarduinonanoを使用しています。
Purojekuto wa aruteido kinō shi, kontorōrā ga sudeni setsuzoku sa rete ireba seijō ni kinō shimasuga, atarashī kontorōrāde wa dōki shimasen. Purojekuto de arduinonano o shiyō shite imasu.