Pro Microと静電容量式タッチセンサ(TTP223)【Arduino】
この記事では、Arduinoで静電容量式タッチセンサTTP223の使い方を解説します。 タッチセンサは、ArduinoやRaspberry Piなどのマイコンと相性の良いセンサデバイスです。機械的な動作がないため壊れにくく、防水対策がしやすいのもタッチセンサの良い所ですね。 ぜひみなさんもタッチセンサの魅力に触れてみてください。
つかうもの
はじめに、この記事でつかうものをご紹介します。
タッチセンサTTP223
タッチセンサは、TTP223というこちらのKKHMFのものを購入しました。10個セットですが、格安でした!
▼ 写真のように基板がつながって送られてきます。パキッと折って、1つ1つバラバラにしてから使ってください。
また、ブレッドボードで使う場合は、ピン端子の半田付けが必要になります。ピン端子は付属されていないので、お持ちでない方は合わせて購入しましょう。
▼ ご覧の通り1円玉よりも小さいサイズです。
Arduinoボード
ここでは、Arduino互換機であるLeonardo Pro Microを使用しました。
▼ もちろん他のArduinoボードでも構いません。
Arduinoと抵抗で作る自作タッチセンサ〜Pro Micro編 の記事でも触れましたが、Arduinoをパソコンのキーボードやマウスとして認識させたい場合は、LeonardoのようなATmega32U4チップ搭載のボードをお使いください。 ▼ ATmega32U4搭載ボード
もしまだArduinoをお持ちでないようでしたら、 おすすめArduinoどれを選べばいい?Arduinoで電子工作をはじめる方へ をご覧ください。
その他
1kΩの固定抵抗を使いますので、あわせて用意してください。カーボン抵抗または金属皮膜抵抗のどちらでもかまいません。
また、LEDを点灯して動作確認しますのでLEDをご用意ください。
ブレッドボードやジャンプワイヤをお持ちでない方は揃えてください。
タッチセンサ「TTP223」の使い方
このタッチセンサの電源電圧は、2V〜5.5Vの範囲で使用できます。
タッチセンサには「223B 9NNH」というICチップが搭載されてます。このおかげで、ジャンパピンによってタッチセンサのモードを次の通り変えることができます。
TOG(B) | AHLB(A) | 動作・機能 |
---|---|---|
0 | 0 | モーメンタリ タッチされたらHIGHを出力 |
0 | 1 | モーメンタリ タッチされたらLOWを出力 |
1 | 0 | オルタネイト 電源オン時にLOWの状態 |
1 | 1 | オルタネイト 電源オン時にHIGHの状態 |
- モーメンタリとは、タッチしている間だけオンになる動作
- オルタネイトとは、タッチするたびにON・OFFが切り替わる動作
基板のAジャンパは「AHLB」、Bジャンパは「TOG」へ配線されているので注意しましょう。
今回は、タッチしている間だけONになるモーメンタリを使用してみます。また、タッチされたらHIGHの信号が出力されるモードに設定します。
▼ 「223B 9NNH」データシート TTP223データシート
ArduinoとタッチセンサでLチカ
それでは実際にタッチセンサを使ってみましょう。タッチセンサとArduinoでLチカをやっていきます。
タッチセンサとArduinoの配線
まずは、次の通りタッチセンサとArduinoを配線してください。
LEDのアノードをA10につなぎ、1kΩ程度の抵抗を介してGNDへ落とします。
タッチセンサ | Arduino |
---|---|
Vcc | 5V |
I/O | A9 |
GND | GND |
タッチセンサでLチカするプログラム
こちらの動画のように、タッチセンサでLチカするプログラムをArduinoに書き込みます。
▼ タッチセンサに触れている間だけ、LEDを点灯させるプログラムがこちらになります。タッチセンサの使い方はとても簡単で、digitalRead関数を使ってタッチセンサの状態を監視できます。
/*
Created by Toshihiko Arai.
https://101010.fun/iot/arduino-touch-sensor.html
*/
const int SENSOR = 9;
const int LED_PIN = 10;
void setup() {
pinMode(SENSOR, INPUT);
pinMode(LED_PIN, OUTPUT);
}
void loop() {
if (digitalRead(SENSOR)==HIGH) {
digitalWrite(LED_PIN, HIGH);
} else {
digitalWrite(LED_PIN, LOW);
}
delay(1);
}
感想
今回はじめてタッチセンサモジュールを使ってみましたが、とても使いやすいです。完全に触れる前から反応するほど感度が良く、厚めのアクリルケースなどに収めても反応します。誤作動もほとんどないですし、 自作タッチセンサ とは比べ物にならないほど完成度高いです(笑)