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

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)動作・機能
00モーメンタリ
タッチされたらHIGHを出力
01モーメンタリ
タッチされたらLOWを出力
10オルタネイト
電源オン時にLOWの状態
11オルタネイト
電源オン時にHIGHの状態

  • モーメンタリとは、タッチしている間だけオンになる動作
  • オルタネイトとは、タッチするたびにON・OFFが切り替わる動作

基板のAジャンパは「AHLB」、Bジャンパは「TOG」へ配線されているので注意しましょう。

今回は、タッチしている間だけONになるモーメンタリを使用してみます。また、タッチされたらHIGHの信号が出力されるモードに設定します。

▼ 「223B 9NNH」データシート TTP223データシート

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

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

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

タッチセンサとArduinoの配線

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

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

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

タッチセンサArduino
Vcc5V
I/OA9
GNDGND

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

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

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

▼ タッチセンサに触れている間だけ、LEDを点灯させるプログラムがこちらになります。タッチセンサの使い方はとても簡単で、digitalRead関数を使ってタッチセンサの状態を監視できます。

cpp
/*
  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にも役立つ内容でした。