デジタル入力検出
- 公開日: 2020/07/12
- 更新日: 2020/07/18
アタリ仕様に限らず、ボタン等スイッチのオン、オフを検出する機構としてはプルアップ回路が利用されることが多い。プルアップ回路の一例を下図に示す。
PC等ホスト側では、信号入力端に抵抗Rを介して正の電圧を加え(プルアップ)、一方コモン端子はGNDに接続する。コントローラ側のスイッチがオフの場合は、ホスト側の信号入力端の電圧はHレベルとなる。ここでスイッチをオンにすると、電源入力Vccから抵抗R、スイッチ、コモン端子を介してGNDに向かう電流が発生し、電圧降下によって信号入力端の電圧はLレベルとなる。
このように、プルアップ回路では信号入力端の電圧がLレベルになったことをもってスイッチのオン(トリガボタンを押した状態やジョイスティックレバーを傾けた状態)を検出する。
連射機能を実装するには、発振回路を用いる。発振回路についてはブログ「【連射道】」に詳説されている。手元にあったエレコムのジョイカードJC-200では、下図のような回路となっていた。この回路についてもブログ「【連射道】」の『インバータを使った連射回路』に詳説されているが、一秒あたりの連射回数f=1/(2.2×キャパシタの静電容量C×抵抗値R)とのこと。JC-200であれば低速モードで5.7回/秒、高速モードで14.7回/秒ということになる。