« Arduino - サウンドセンサーでWindowsをコントロール | トップページ | Arduino - 天狗? - ArduinoTENGU - »

Arduino - 静電容量センサー - Capacitive Sensor -

先日から気になっていた静電容量センサーに挑戦。

Arduino_capsense1_2

もちろんこれはタッチして反応するものではなく、非接触で人などの静電体が近づくと反応するやつ。
最近はタッチセンサと言えばマルチタッチなどで盛り上がってますね。

とても簡単な回路で実現可能で、しかも中間に障害物があっても関係無くセンシングするので面白いですよ~

--

今回もまた建築発明工作ゼミ2008さんのArduinoタッチセンサと、Arduino PlaygroundにあるCapacitive Sensing Libraryを参考にしました。
いつもながらありがとうございますm(_ _)m

まずは回路図。

Capsense_sch

とってもシンプルですね~
これはいろいろな値でテストするために作ったもので、1M3.6M5.1M10M x 5 の抵抗を使い、それぞれの値で検証出きるようにしてあります。
なので、反応させたい距離が決まっていれば、もっとシンプルにすることが出来ます。

JP1を接続させると、1M の抵抗値でセンシングします。
1Mだとほぼタッチセンサーと同様となり、たぶん非接触では無反応になります。

抵抗は直列で加算していくようになっているので、JP2を接続すると、1M + 3.6M の 4.6M でセンシングします。
抵抗の値の選定は、このくらいの間隔でないと反応距離の変化がつかない、と考えた自分なりの選定です。

そしてJP3を接続すると、1M + 3.6M + 5.1M の 9.7M となります。

最後のJP4は、一気に 10M x 5 = 50M を追加し、59.7M となります。
このくらいで恐らく距離が飽和して反応しなくなるだろう、といった感じの最大値としています。
ジャンパをもっと取り付ければ、いろいろなパターンにすることも出来ますね~

 

--

Arduino_capsense2

現物です。
最大のJP4でジャンパ接続してあります。

左端の5ピンのヘッダは両端だけ使用して、間の3ピンは未使用です。
また、右端のオス・メスのヘッダはどちらも同じで、上側だけ接続されてます。

そう言えば10M以降の抵抗ってないのかな?あと10Mくらいの可変抵抗もあると楽にテストが出きるのだけど・・・

Arduino_capsense3

Arduinoと接続したところ。
回路図の Send がDigital2番ピン、Receive がDigital9番ピンに接続され、Sensor は導電体ならなんでも良いかと思います。

建築発明工作ゼミさんでは銅箔の金属板を使用していますが、SatE-OはPSoC First Touchに付属していた静電容量センサー用の電線?を丁度良かったので使ってます
単なる線材の切れ端です。

ArduinoPlaygroundにあるようにアルミホイルを使っても良いと思います。
むしろその方が効果が高いかもしれません。

注意しなければならないのは、センサーを大きくしすぎないこと。
やたらデカくすると容量が貯まりにくくて反応が鈍くなります。たぶん・・・
試しに手の平より大きい片面全て銅箔な基盤で試したら、ほとんど反応しなかった

 

--

Arduino_capsense_graph_2

そして以前Sound Sensor Shieldで利用したProcessingでのグラフ表示をちょっと弄って再利用。
一応フィルター掛けてますが、それでも値がかなり大きく変動しているのが分ります。
テストでは50cmくらいの距離から手の平を近づけてみた。

最大の設定(JP4)で、約15~18cmあたりから反応が始まり、グラフの大きくなってくる部分がその部分。
ピークとなっている部分が、ギリギリ数ミリまで近づけた状態。
もちろん障害物として板を挟んでみても結果はほぼ同様です。

非接触としての静電容量センサーが、こんなに簡単に実現できてしまうのはとても面白い実験でした
ただ、ArduinoPlaygroundにあるような抵抗40Mで12~24inch、つまり約30~60cmという距離には遠く及ばなかったのには残念。
結構期待していたんだけどな。

最大値以外での結果もそのうち掲載しようと思います。

2009.2.25追記
一片10cm四方のアルミホイルで試してみたところ、平面方向なら30cm以上の距離でも反応しました。
但し、平面ではなく、端からの反応はもちろん鈍くなります。
こういうセンサーはアルミの方が反応が良さそうですね~

 

やはり静電容量って結構シビアに変動するから、環境や回路によって差が生じてしまうのかもしれませんねえ。
値を絞り込んで、確実に静電を蓄えられるセンサーにすればよいのだろうか。

こうなるとSparkfunの静電容量センサー・モジュールが気になって仕方がない・・・でもちょっと高いのよね。
IC自体は安いから、ICだけ手に入れて作ってしまうのもありか。
どなたか使用している方がいましたらレポ欲しいですm(_ _)m

 

というわけで、お手軽簡単、財布にやさしい静電センサーでした
次のお題も既に出来上がっているのだけど、ソフトウェアを書く余裕が・・・明日気合入れるかな。
あ、今回のソースも載っけてないし、これも近いうちに。

そう言えばOuch!さん、WiPortを入手していたなあ、いいなあ。
やっぱりケーブルなくなるだけ使い勝手良いかしら?

 

--

 

その後、ふと気になってもう少しセンサーについて調べていたら、ことぶ記さんのとこの「静電容量センサのラピッドプロトタイピング」という記事を見落としてました。
どうやらCypressのエンジニアが説明している記事があるそうで、事細かに説明して製作方法まで記述されてます。
もちろん対象はPSoCになりますけど。

他にもMAKEのサイトではDIY 3D Controllerという、静電容量センサーを利用した3Dコントロ-ラーなんてのもあって面白そうです(PIC AVR 工作室さんの「こんなシンプルな3D入力デバイス!」より)。
このコントローラーの記事は知っていたんだけど、発表された当時は全く興味なかったんだよね
でもこれ読んでいると、テルミンもやっぱり同じような原理だったのが分かったから、自分の考えはあながち間違ってなかったみたい。

|

« Arduino - サウンドセンサーでWindowsをコントロール | トップページ | Arduino - 天狗? - ArduinoTENGU - »

電子工作」カテゴリの記事

コメント

この記事へのコメントは終了しました。

トラックバック


この記事へのトラックバック一覧です: Arduino - 静電容量センサー - Capacitive Sensor -:

« Arduino - サウンドセンサーでWindowsをコントロール | トップページ | Arduino - 天狗? - ArduinoTENGU - »