画面撮影を行うとき、足踏みスイッチ(フットスイッチ)を使いたいと思った。というのは、タッチやペン操作で両手がふさがっているときに画面撮影しなければならないことがあるからだ。しかし、市販のUSB接続のフットスイッチはざっと調べてみると、USBキーボードと同じくキーコードを送信するものしか見つからなかった。しかし、GUI操作の中には、キーが押されると解除されてしまう表示があり、できれば、キーボードではない接続方法のものを探したが、見つけることができなかった。そこで、自作することにした。というわけで今回は、ハードウェア編として、USB接続のキーボードではないフットスイッチの自作方法を解説する。そのソフトウェアに関しては次回、解説の予定だ。
最も簡単に作る方法として、USBシリアル変換アダプターを使いフットスイッチをPCに接続することを考えた。具体的には、シリアルポートの制御ピンにフットスイッチを接続、信号状態をプログラムで読み出す。これなら、フットスイッチにシリアルポートコネクタを接続するだけでできる。シリアルポートコネクタには、D-SUBと呼ばれるタイプのコネクタを使う。これは、正面から見たかたちがDに似ている“Subminiature”(超小型)コネクタの意味。他にも表記方法があるのだが、日本国内では“D-SUB 9ピンコネクタ”と呼ぶことが多い。
PCでいう「シリアルポート」は、RS-232Cの信号仕様(D-SUB 25ピンコネクタ)をD-SUB 9ピンコネクタに簡略化したものだ。最初はIBM PCの独自仕様だったが、のちにTIA-574として規格化されている。国内では、8ビットCPUを使ったBASICマシンの時代から、当時の規格の名称だったRS-232C(当然25ピン)という表記が定着し、規格名称が変わってもずっとこの名前が使われている。面倒なのでこの記事ではRS-232Cと表記する。
簡単にいうと、RS-232Cはプラスマイナス12ボルト(正確には-15~-3ボルトと3~15ボルト)で1と0を表現する。RS-232Cはシリアル伝送動作を信号ピンで制御することができる(ハードウェアハンドシェイク)。このために用意されたのが「RTS/CTS」、「DTR/DSR」「RI」、「DCD」と呼ばれる信号線だ(表01)。出力信号線と入力信号線の組み合わせならどれを選んでもいいが、ここでは、出力にRTS、入力にCTSを使うとする。この信号線では、+12ボルト側が「有効」(オン)で、-12ボルト側が「無効」(オフ)とされている。このとき、0ボルトから+3ボルトの範囲は、「無効」(オフ)と判定される。これは、コネクタが接続されていないときに信号を「無効」状態にするため。
それぞれ、D-SUB9ピンコネクタでは、7番、8番になる。ここにフットスイッチを接続する。コネクタを裏側から見たとき、下段(ピン数の少ないほう)の4本のうち、中央の2つがRTSとCTSだ(図01)。
RTSを「有効」に設定したとき、フットスイッチがオンならば、CTSは同じく「有効」になる。フットスイッチが“OFF”の場合、CTSは0ボルトとなるため、CTSは「無効」となる。つまりCTS信号の状態を監視していれば、フットスイッチのオンオフが判定できる。
USB接続フットスイッチを自作するには、
- USBシリアルアダプタ(数百円から入手可能)
- D-SUB 9ピンメスコネクタ
- フットスイッチ # の3つが必要だ。そのほかにはRS-232Cの簡易ラインモニター(信号状態をLEDで表示するもの)があると便利だが、簡易にはテスターなどでもなんとかなる。
D-SUB 9ピンメスコネクタには、圧着タイプのピンもある。簡易には、一方がD-SUB9ピンメスになったシリアルケーブルを途中で切ってフットスイッチとつなぐという方法でも作ることができる。要は、RTSとCTSの間にスイッチを入れればOKだ。
USBシリアルアダプタは注意が必要だ。というのはWindows 10、11でサポートされなくなったUSBシリアル変換チップがあるからだ。さすがに最近ではRS-232Cを使う人も少ないのであろう。Windows 7あたりでサポートされていた、いくつかのチップがボックスドライバーには含まれなくなった。筆者も手元にあったUSBシリアル変換ケーブルはすべてProlific社のもので、かなり昔にボックスドライバーが外れており、Windows 10には含まれていなかった(ただしメーカーのサイトからダウンロードが可能)。通販サイトなとを見ると、Linuxではまだ利用できるなどの理由で、Windows 10/11には対応していないものがまだ売られている。これから購入するなら、FTI(FT232など)かWCN(CH341など)あたりのWindows 10/11に、対応しているチップを使ったものがいいだろう。もっとも、ドライバーインストールかラクなだけで品質に関してはなんともいえない。最終的にはご自身のリスクで判断していただきたい。
USBデバイスなので、ボックスドライバーが対応していれば、ドライバーのインストールは自動的に行われる。コントロールパネルの「デバイスマネージャー」にある「ポート(COMとLPT)」にデバイス名が表示され、末尾に「COM〈数字〉」というCOMポート番号が出ればOK。ただし、ボックスドライバーが対応していない場合でも、不明なデバイスにならず、ここにメッセージが表示されることがある。このときには末尾にCOMポート番号がつかない。
フットスイッチは、国際電業の「フットスイッチSFKF-1」を購入した。これは、秋葉原に行ったときに実物を見て選んだ。2000円ちょっとだったが、もう少し安いものもあった。できれば実物を見て選んだほうがいいと思う。工場などで使うような金属製のゴツいやつもある。
作成したものが、(写真01)である。圧着ピンをフットスイッチのケーブルにつけてシェルをねじ止めしただけである。さて、次回は、フットスイッチを検出するソフトウェアについて解説する。
今回のタイトルの元ネタは、Wendy Carlosの“Switched-On Bach”(1968)である。 Johann Sebastian Bachの“inventionen und Sinfonien BWV 772-801”などの曲をMoogシンセサイザーで演奏したもの。アナログシンセサイザーの可能性を世間に知らしめたアルバムである。