USBのコントローラを自作したときの体験談
皆さんこんにちは。
僕は以前、PCでしっかり認識してもらえるコントローラを自分で作ることにあこがれており、USBを使って実際に作ってみようとしたことがあります。
しかし、この、「PCで認識してもらう」という部分が自分の技術力では実現させることができず、かなり苦労しました。
この経験が、誰かの役に立つならということで、この記事にその時の苦労などを書いていこうと思います。
それではお付き合いください~。
コントローラの回路は意外と単純
コントローラ内部で電気信号をやり取りするための回路については、案外簡単に作ることができました。
というのも、基本的にコントローラのスイッチは、ON/OFFされたときに回路をつなげたり離したりすればいいだけなので、仕組みはとても簡単なのです。
ただ、たとえボタンの押下に応じて回路をONにすることができたとしても、それをPC側に伝えなければ意味がありません。
この時僕は、パソコンとの通信規格としてUSBを用いました。
USBを制御する方法がわからない
普通のUSB、例えばUSBメモリでは、通信を制御するためのドライバが内蔵されています。
そのドライバを作って自分の思い通りの通信ができるようにしたいと思い、僕はネットでいろいろ調べながらドライバの作り方を模索していきました。
プログラミングの知識はそこそこあったので、まあいけるかなと思いましたが、いくらネットで調べても肝心なUSBの制御方法についての情報が出てきませんでした。
ここの時点で、僕はドライバを自分の手で作るのは難しそうだと思い、何か別の方法がないかと考え始めます。
簡単で安くできる方法があった
考えてみれば意外と身近に手段がありました。
それは、100均などに売っているUSB接続のキーボード(マウス)を分解して、スイッチの部分を回路につなげるという方法でした。
というのも、これらの製品にはすでにドライバが入っていますので、自分で作る手間がなくなるのです。
ただ、ドライバを自分で作るときと比べると、コントローラに割り当てるキーはすでに設定されていて自由に変えることはできません。
それでも、この方法に気が付いた僕は実際にやってみようと思いました。その時の僕は、これを妥協案というよりもはや画期的なアイデアだと思ってましたね(恥ずかしい笑)。
僕の場合は少し変わっていて、キーボードではなくマウスを使いました。家にあったもう使っていないマウスがあったので、そいつを分解して回路につなぎましたね。いやーリサイクルできてよかった。
マウスを使った理由は、コントローラを使用したゲームのほうにあります。
というのも、そのコントローラを使うゲームは僕が自作していたものでしたので、自分でイベントを起こすキーを決めることができたからです。
そういうわけで、キーボードより手軽なマウスを使いました。コントローラに必要なボタンもたった3つだけでしたし。
回路をよく見てはんだ付けする
マウスやキーボードの回路を利用してコントローラを作るときは、中の回路をよく見ながらどことどこをつなげばいいのかを判断していってください。
分解すると、スイッチのようなものが見えると思いますので、その下に出ている2つの銀色の部分にそれぞれコントローラのボタンの導線をはんだ付けすればOKです。
かなり細かい作業になりますが、根気強くやりましょう。
今回の記事では、僕がコントローラを作ったときの話をしていきましたが、具体的な作り方というよりもどのようなアイデアで作ったかという視点で解説していきましたので、あしからず。
それではまた~。