ばかおもちゃ本店:Youtube twitter:@sashimizakana Amazon.co.jpアソシエイト

2012年11月4日日曜日

静電容量式タッチセンサで遊ぶ

静電容量式タッチセンサ、というと聞いたことがある人もいるだろう。
これはiPhoneなんかのタッチセンサに使われている技術だ。そう聞くと、自分とはまったく無縁の難しい話だと思うだろうが、いやいや、実は基礎部分だけなら非常に簡単に作ることができ、電子工作をする上ではちょっとした面白部品になるのだ。
電子工作と聞くと、自分とはまったく無縁の難しい話だ、と思う人もいるかもしれない。
OK。じゃあ野球やろうぜ(やらない)。

冗談はさておき、この方式はよくある指を触れると電気がつくタイプの電気スタンドなんかでも使われている。あれを初めて見ると、こんな普通のスタンドにまでタッチセンサがついているのか、と驚くが何のことはない、とても簡単で安く作ることができる。
(もっともアレはマイコンなんかは使わないで、トランジスタとか組み合わせている気がする)

静電容量式のタッチセンサを使った動画:



技術的にはこのブログを読むより、以下のサイトを見るとよい。
建築発明工作ゼミ2008: Arduino タッチセンサ

ものすごくおおざっぱに書くと、マイコンのひとつの端子から5Vを出力して、ほかの端子に直接つないで入力待ちする。そうすると電気はものすごく早いので、あっという間に入力まで届く。これが手が触れていない状態。
その回路に追加して、コンデンサひとつと、抵抗を回路に組み込んでコンデンサ側に電気が流れるようにしてやると、コンデンサが満たされるまで入力の電圧が上がらないので、さっきより遅くなる。
そして人間の手にもコンデンサと同じく、ある程度電気を溜める容量は存在している。 つまり、この回路からコンデンサを取り外せば、手で触らないときには素早く、手で触れたときには遅く入力が検知される。
この速度の差で触られたかどうかということを知ることができる。
もっとも人間の手の電気を溜める容量はごく小さいので、抵抗を非常に大きくして、回路全体に流れる電気をごく少なくする。こうすれば人間の手でも、電気が溜まるまでに少々の時間がかかるようになり、安定的にタッチを検知することができる。ちなみに抵抗を更に大きくすると、触らず指をある程度近づけるだけでも反応するくらいの感度にすることもできる。


おめでとう、静電容量式のタッチセンサの完成である。
おめでとう、おめでとう。
地球を背景にキミを囲んでみんなが拍手している。
得体の知れない海辺で、自分をキモがっている女と二人きりになる人生のエンディングが待っていようとも、今は笑顔でありがとうと言うと良い。どのみち人生なんてどうなるか分かったものじゃないんだから、笑えるときには笑っておいた方が良いし、言える礼は言っておくに限るのだ。

ちなみにこのセンサはくっつける容器や回路、センサ部分の金属の種類なんかで検知までの時間が変わるので、いちいち閾値のパラメータを設定しているとちょっとした変更のたびにやり直しになって時間がかかる。
そのため私は、起動してから100回検知したなかでの最大値をとって、その値よりさらに規定以上時間がかかったときはオンとして判定するようなプログラムにしている。これならプログラムは同じままでいろいろなものに対応できる。



「作例」

電球の中にLED入れたやつの点灯に使ってます。