PS4コントローラー(DUALSHOCK 4)のアナログ軸をデジタル入力っぽく乗っ取ってみる。
今回作った回路はアナログ軸の信号線に流れる電圧を、0V付近、1.6V付近、3.2V付近(最小、ニュートラル、最大に近い信号、実際には0.4V〜2.8Vくらい)にすることででデジタル入力っぽく使うというもの。通常のスイッチ型ジョイスティックの接続を想定しています。バーチャロンスティックなんかもアリです。
この考え方はデュアルショック4に限らずほとんどのゲーム機用コントローラー(ポテンショメーター/可変抵抗を使っているもの)に応用できます。
私の知る限りアナログ軸にポテンショメーター以外を採用しているのはニンテンドー64(ALECK64)くらいです。
【回路図】
図はLスティックXを「左いっぱい」、「ニュートラル」、「右いっぱい」の入力に限定する回路。
3.2VとGNDの間に2つの抵抗を直列につなぎ、2抵抗間をアナログ軸の信号線に接続する。抵抗値は問わない。
こうするとアナログ軸の電圧は1.6Vとなりニュートラル状態を維持できる。
R3とR4は無くても動くがこれがないとS1とS2が同時にONになった際に短絡してしまう。一般的なスイッチ式ジョイスティックは構造的に左右(または上下)を同時ONにすることはできないかもしれないが…。
LスティックY、RスティックX、RスティックYもそれぞれ同じように作ることができる。
【重要なポイント】
- R1とR2に同じ抵抗を使う(値はもちろん2つの誤差がなるべく少ないものを選ぶ、金属皮膜抵抗でいきましょう)。
- R3とR4に同じ抵抗を使う(同上)。
- R1(R2)とR3(R4)の値はなるべく離れている方が良い結果を得られる。最低でも10倍以上の差があった方がいいじゃないかな。理屈がわかれば抵抗比率で引き出す値を調整できる。
発展形として中間スイッチを作ったり、数段回の強弱を付けるスイッチなんてのも面白いかも。ロータリースイッチを使ってどうにかしたりとか楽しそう。

