2019-09-06

タッチセンサ


今更ながら自分のマウスのちょっと変わってるインターフェース周り(スイッチとかコネクタとか)の話を書いてみようと思います。
2年ぐらい前からやってることなので、会場でお話しした方も多いと思います。

---
以前の自分のマウスにはブートモード切替と決定ボタン兼用でタクトスイッチが最低1個は付いてました。でもタクトスイッチって小さいのは押しにくいし、壊れやすいし、小型といっても言うほど小さくないし、出来れば無くしたい部品です。

今作のマウスではマイコンの書き込みはSWDでやってるのでブートモードの切替スイッチは必要なくなりました。
決定ボタンは6軸センサや壁センサで代用しようと思えばできるでしょうが、誤爆のリスクが怖いです。環境が変わるとミスもしやすいもの、大会本番で操作ミスして1トライを無駄にすることもあるかもしれません。やはり決定ボタンは欲しいです。

誤爆しにくく、実装面積が小さく、操作しやすく、信頼性のあるインターフェースということで、静電容量式のタッチセンサを使うことにしました。
タッチセンサ回路を内蔵したマイコンであれば追加部品なしで簡単にできますし、そうでない場合も原始的なタッチセンサであればGPIO2本、抵抗1個で出来ます。自分がやったのは後者です。

これは自己容量式のタッチセンサですね。

さて、追加の部品は抵抗1個といっても、ある程度の面積の電極は必要です。電極サイズが小さすぎると容量変化が小さく、マイコンでうまくON/OFFを読み取れません。
実装面積を削減しようとしてるのに、そんな大きな電極を置くスペースなんてあるわけ…

あったーー!!! (yakudo風)

ということで、スライドスイッチ(電源スイッチ)のケースがタッチセンサの電極になってます。結構しっかり目に触れないと反応しないようにした(なった)ので、スライドスイッチ操作時に不意にタッチ入力してしまうことも起きていません。
モーターのケースも電極候補になりそうです。自分の場合はモーターはバッテリーの下に隠れてしまうので試しませんでしたが、もしかしたら使えるかもしれません。誰か試したら結果を教えてください。

あと上図のタッチセンサですが、マウスがアースされているかどうか(ケーブルでPCと繋がっているかどうか)で容量の変化の仕方が変わります。ケーブル接続の有り無しどちらでも使えるように調整には注意が必要です。

---
思ったより長くなったので、今回はタッチセンサの話だけ。
次回はプログラミングケーブルのコネクタについて。

0 件のコメント: