PC のジョイスティック

 PC に接続できるジョイスティックは様々なものがありますが,おおまかに言ってスティックタイプとパッドタイプがあるのではないでしょうか。この中でスティックタイプは戦闘機の操縦桿のようなタイプで,傾き加減をアナログ値で知ることが出来るタイプが多いようです。これに対してパッドタイプはその方向のボタンを押したかどうかというデジタルタイプが多いようです。最近レトロゲームがちょっとしたブームになっているようですが,昔のシューティングゲームを楽しむ場合,どうしてもアナログタイプのものは馴染みません。かといってジョイパッドも細かな制御には不向きですし何しろ指が疲れます。しかし,売り場を探しても昔ながらの 8 方向ジョイスティックというのが見当たりません。たまに見かけても,安いのはいいけれど,どうにも安定の悪そうなものばかりです。仕方が無いので自分で作ることにしました。

仕様

 まず要求仕様をまとめます。(ってそんな大げさに考えるようなもんじゃありませんが)
  1. スティックタイプで,8 方向デジタル
  2. 底面積が大きくて,安定していること
  3. ボタンは最低 3 つは必要
  4. 自動連射機能も欲しい(連射間隔可変で)
 以上から,作った回路が右図です。連射機能はボタン 1, 2 にしかつけていませんが,大抵のゲームはこれで間に合うはずです。追加したい人は同じ回路を 3, 4 にも付けてください。念のためピン配置図も載せておきます。

VDD を 5V 側に,VSS を GND 側につないでください。

パーツ

 手持ちの部品を使いましたので,トランジスタなどは手に入りにくいかもしれません。小信号用の PNP タイプなら何でも ok ですので,パーツショップで一番安いものを買ってください。下手に高いのを買うと hfe が高くて周波数特性が良かったりしますので,逆に発振などのトラブルが起きてやっかいです。ジョイスティック,ボタン,ケースは,今回は千石電商で手に入れました。何だかんだで 7k 円くらいかかってしまいました。

動作

 一応動作原理を解説します。連射部分は単なるマルチバイブレータです。連射間隔を変えたい人は,コンデンサの容量で調整すると良いでしょう。容量を小さくすると間隔が短くなります。Continuous Shot というスイッチがオープンされている場合は,最終段のインバータの入力がプルアップされるため,出力は L になります。したがって,shot ボタンは連射機能無しに普通に機能します。Continuous Shot スイッチが入っていれば,ここには矩形波が来ていますので,Shot ボタンによって,連射機能が働くことになります。

 スティック部分の回路は,トランジスタをスイッチとして使用しています。まず,UP ボタンが押されている状態,つまりスティックが上に倒されている場合は,そのものずばり,5V が出力に直結されます。次に UP/DOWN ボタンどちらも押されていない状態,つまりスティックが中立の場合ですが,この場合はベースに電流が流れていますから,コレクタ-エミッタ間は導通状態になります。従って,出力には 56kΩ を介して 5 V がかかることになります。最後に DOWN ボタンが押されている状態,つまりスティックが下に倒されている場合ですが,この場合はベース電位とエミッタ電位が同じなのでトランジスタは OFF になっています。従って,出力には 2 つの 56kΩを介して 5V がかかることになります。

 このようにして,アナログのスティックがつながっているように見せているわけです。左右方向も同じです。同様の回路は 4066 等のアナログスイッチを使っても出来ます。4066 を使った方が回路はスッキリするかもしれません。

製作

 特に難しいところはありませんが,もしも千石電商のケースで今回の連射機能を入れたい場合には,ケースに穴をあける必要があります。ケースは鉄なので電動ドリルが無いと難しいでしょう。連射の on/off にはプッシュロック式のスイッチを使いました。好みのものを選んでください。またスイッチの位置も好き好きだと思います。

 内部の配線も特に難しいところは無いと思います。ジョイスティックから出す線は 8 本なので,DIN コネクタにしても良いでしょう。安く上げる場合は,出口付近で結び目を作って少々引っ張っても線が切れないようにしておきます。内部の線はビニールタイを使って束ねるとスッキリします。今回はコントロール基板にかなり小さいものを使いましたが,内部は十分にスペースがあるので,もっと大きな基板を使ってかまいません。


 ご感想をお聞かせください(ruimo@ruimo.com)。なお、誠に勝手ながら、HTMLメールはサーバーで全て削除されますので、テキストメールでお願いいたします。

 戻る