静電容量センサーを試してみる
少しお休みからの久しぶりの更新です。今回は静電容量式タッチセンサーを作成します。
- 仕組み
- メリット
- 回路の構成
- プログラム
- 試験
- まとめ
仕組み
タッチセンサーの仕組みですが、簡単ですが人体が持つ静電容量をコンデンサとして認識させその有無を数値で感知するというものです。イメージは下の図のようです。
![](https://satonaru-car-and-life.com/wp-content/uploads/2021/05/7205d92bc444896b43c341114b0a190a.png)
※抵抗値は1MΩで良かったみたい
人の体がコンデンサの一部と見ることができます。
メリット
静電容量式タッチセンサーを用いることの最大のメリットは押しボタン式のスイッチと比較して、見栄えをよくできます。押しボタンでしたら埋め込む先の加工に手間がかかります。自動車だとダッシュボードなどの樹脂の下とか隠ぺい部にセンサを貼り付けてしまえば、表面からは位置さえ分かるようにマーキング(丸シールとか…)をすれば十分ですからね。また、『車側にはできるだけ加工をしたくない』に合致します。^ ^
ただ、センサーの反応値の設定がシビアになり、また、センサーまでの配線の取り回しや樹脂パーツの厚みなどが影響するため現物合わせが必要になるのが手間なのかと思います。
回路の構成
使用する材料は、Arduino UNO(今回も互換機)、ブレッドボード、接続コード、抵抗(今回使用は10MΩ・・1MΩで良かったみたい)、アルミホイールです。
![タッチセンサー](https://satonaru-car-and-life.com/wp-content/uploads/2021/05/20210527_100939-1024x768.jpg)
タッチセンサーに特別なセンサーを購入してくる必要はありません。自分自身です。( ´艸`)
ピンの2番と4番から線をブレッドボードに繋ぎその間を10MΩの抵抗で直列接続します。さらに2番の先からリード線を伸ばして、アルミホイールを付けます。直接触れないように樹脂シート(ここではクリアファイル)を上に置きます。
![センサー接続](https://satonaru-car-and-life.com/wp-content/uploads/2021/05/20210527_102820-1024x768.jpg)
プログラム
プログラムはNet経由で組み込みます。メニューから『ライブラリをインクルード』→『ライブラリを管理』
![ライブラリ呼び出し](https://satonaru-car-and-life.com/wp-content/uploads/2021/05/fc8ebfbe0857c828a6e44b1fb14a37e3-1024x653.png)
ライブラリマネージャのウインドウが開くので、検索のところに”CapacitiveSensor”と入力します。大文字小文字は判別するようなので、最初のCやSensorのSは大文字にして入力します。次に『インストール』を選択します。
![ライブラリ管理画面](https://satonaru-car-and-life.com/wp-content/uploads/2021/05/6dca51cff3bc59b639d9b4595854ba86-1024x576.png)
インストールが済んだら、あらためてメニューに戻り、『ファイル』→『スケッチ例』→『CapacitiveSensor』→『CapacitiveSensorSketch』を選択します。
![CapacitiveSensorを選択](https://satonaru-car-and-life.com/wp-content/uploads/2021/05/7871d458a2b508a0756156dfec4cdd25-1024x653.png)
呼び出したプログラムは下記の通り
![CapacitiveSensorSketch](https://satonaru-car-and-life.com/wp-content/uploads/2021/05/0cbb0597f79f4e90eca004bb374753d3-1-1024x653.png)
オリジナルは3つのセンサーが使えるようになっていますが、今回はテストなので2つ分はコメントアウトします。
黄色のマーキングは行の先頭にコメントアウトの”//”を付与、緑色は改行の”ln”を追記しています。
![修正後](https://satonaru-car-and-life.com/wp-content/uploads/2021/05/d2c3b281d4fa0f7f486fab7d5d619718-1-1024x653.png)
試験
Arduino IDEの⇒アイコンをクリックして、Aruduino UNOに書き込みます。アルミホイール部に手で触れるとセンサーが反応して値が変化します。
![タッチ中](https://satonaru-car-and-life.com/wp-content/uploads/2021/05/20210527_102828-1-1024x768.jpg)
Arduino IDEの🔎アイコンをクリックして、シリアルモニタを起動します。
![](https://satonaru-car-and-life.com/wp-content/uploads/2021/05/c4954d08f86be79f7fc8ed01de8e17ec-1024x635.png)
![](https://satonaru-car-and-life.com/wp-content/uploads/2021/05/5b918bb6acd339c45d2089d66dc77003-1024x635.png)
3桁から4桁に変化します。これが基本機能です。ちなみに変動を分かりやすいようにシリアルモニタを閉じてシリアルプロッタを起動します。
![](https://satonaru-car-and-life.com/wp-content/uploads/2021/05/a807473f95bf9216913c84d18f6802bc-1024x635.png)
実は、タッチ時の値が結構異なります。安定しているとは言い難くそれは、プロッタ結果を見ていただくと分かります。理由はよくわからないのですが、自分の接地が変わっているからかもしれません。
まとめ
今回は、静電容量式タッチセンサーを試してみました。物理スイッチを採用すると収まりのための加工に手間を掛けなくてはならないですが、タッチセンサーはそのあたりが楽にでき、かつ見栄えに気を配らなくてもよさそうです。ただ、タッチ時における値が安定しないのが分かったので、設置するときは現物合わせによる調整が必要と思われます。※一発では決まらなさそう…
今回は以上です。