Pro Microと静電容量式タッチセンサ(TTP223)【Arduino】

Pro Microと静電容量式タッチセンサ(TTP223)【Arduino】

この記事では、Arduinoで静電容量式タッチセンサTTP223の使い方を解説します。

タッチセンサは、ArduinoやRaspberry Piなどのマイコンと相性の良いセンサデバイスです。機械的な動作がないため壊れにくく、防水対策がしやすいのもタッチセンサの良い所ですね。

ぜひみなさんもタッチセンサの魅力に触れてみてください。

つかうもの

はじめに、この記事でつかうものをご紹介します。

タッチセンサTTP223

タッチセンサは、TTP223というこちらのKKHMFのものを購入しました。10個セットですが、格安でした!

▼ 写真のように基板がつながって送られてきます。パキッと折って、1つ1つバラバラにしてから使ってください。

タッチセンサとPro Micro
タッチセンサとPro Micro

また、ブレッドボードで使う場合は、ピン端子の半田付けが必要になります。ピン端子は付属されていないので、お持ちでない方は合わせて購入しましょう。

▼ ご覧の通り1円玉よりも小さいサイズです。

タッチセンサと1円玉
タッチセンサと1円玉

Arduinoボード

ここでは、Arduino互換機であるLeonardo Pro Microを使用しました。

▼ もちろん他のArduinoボードでも構いません。

Arduinoと抵抗で作る自作タッチセンサ〜Pro Micro編の記事でも触れましたが、Arduinoをパソコンのキーボードやマウスとして認識させたい場合は、LeonardoのようなATmega32U4チップ搭載のボードをお使いください。

▼ ATmega32U4搭載ボード

もしまだArduinoをお持ちでないようでしたら、おすすめArduinoどれを選べばいい?Arduinoで電子工作をはじめる方へをご覧ください。

その他

1kΩの固定抵抗を使いますので、あわせて用意してください。カーボン抵抗または金属皮膜抵抗のどちらでもかまいません。

また、LEDを点灯して動作確認しますのでLEDをご用意ください。

ブレッドボードやジャンプワイヤをお持ちでない方は揃えてください。

タッチセンサ「TTP223」の使い方

タッチセンサ「TTP223」
タッチセンサ「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」データシート

ArduinoとタッチセンサでLチカ

ArduinoとタッチセンサでLチカ
ArduinoとタッチセンサでLチカ

それでは実際にタッチセンサを使ってみましょう。タッチセンサとArduinoでLチカをやっていきます。

タッチセンサとArduinoの配線

まずは、次の通りタッチセンサとArduinoを配線してください。

タッチセンサとArduinoの配線図
タッチセンサとArduinoの配線図

LEDのアノードをA10につなぎ、1kΩ程度の抵抗を介してGNDへ落とします。

タッチセンサ Arduino
Vcc 5V
I/O A9
GND GND

タッチセンサでLチカするプログラム

こちらの動画のように、タッチセンサでLチカするプログラムをArduinoに書き込みます。

タッチセンサでLチカ
タッチセンサでLチカ

▼ タッチセンサに触れている間だけ、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);
}

感想

今回はじめてタッチセンサモジュールを使ってみましたが、とても使いやすいです。完全に触れる前から反応するほど感度が良く、厚めのアクリルケースなどに収めても反応します。誤作動もほとんどないですし、自作タッチセンサとは比べ物にならないほど完成度高いです(笑)

▶︎ 類似した記事を探す #インターフェース
 

この記事が参考になりましたら
シェアをよろしくお願いします!

人気のArduino互換機
Arduinoで人気の周辺パーツ
あると便利な道具
Arduinoのオススメ参考書

▼ Arduino初心者向きの内容です。ほかのArduino書籍と比べて図や説明がとてもていねいで読みやすいです。Arduinoで一通りのセンサーが扱えるようになります。

▼ 外国人が書いた本を翻訳したものです。この手の書籍は、目からうろこな発見をすることが多いです。

▼ Arduinoの入門書を既に読んでいる方で、次のステップを目指したい人向きの本です。C言語のプログラミングの内容が中心です。ESP32だけでなく、ふつうのArduinoにも役立つ内容でした。

関連記事