はじめに

この記事では、Arduino Pro Micro と 静電容量式タッチセンサ TTP223 をつないで、タッチでLEDを点灯させるところまで試します。TTP223 はジャンパ設定で出力の動きが変わるため、先にモードの意味を押さえてから配線すると迷いにくいです。

タッチセンサは機械的なスイッチと違い、押し込む部品がありません。壊れにくく、ケース越しに反応させやすいので、自作機器の操作ボタンとしても扱いやすいセンサです。

先に要点

  • TTP223 は、タッチされたときに HIGH または LOW を出力できる静電容量式タッチセンサです
  • AHLBTOG のジャンパ設定で、モーメンタリ/オルタネイトと出力極性を切り替えられます
  • 今回は、タッチしている間だけ HIGH になるモーメンタリ設定で Lチカします
  • Pro Micro 側では digitalRead() で状態を読むだけなので、最初のセンサ確認に向いています

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

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

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

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

タッチセンサとArduinoの配線

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

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

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

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

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

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

タッチセンサでLチカ

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

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);
}

感想

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

関連記事

関連アイテム