はじめに
この記事では、Arduino Pro Micro と 静電容量式タッチセンサ TTP223 をつないで、タッチでLEDを点灯させるところまで試します。TTP223 はジャンパ設定で出力の動きが変わるため、先にモードの意味を押さえてから配線すると迷いにくいです。
タッチセンサは機械的なスイッチと違い、押し込む部品がありません。壊れにくく、ケース越しに反応させやすいので、自作機器の操作ボタンとしても扱いやすいセンサです。
先に要点
- TTP223 は、タッチされたときに
HIGHまたはLOWを出力できる静電容量式タッチセンサです AHLBとTOGのジャンパ設定で、モーメンタリ/オルタネイトと出力極性を切り替えられます- 今回は、タッチしている間だけ
HIGHになるモーメンタリ設定で Lチカします - Pro Micro 側では
digitalRead()で状態を読むだけなので、最初のセンサ確認に向いています
タッチセンサ「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の配線
まずは、次の通りタッチセンサとArduinoを配線してください。

LEDのアノードをA10につなぎ、1kΩ程度の抵抗を介してGNDへ落とします。
| タッチセンサ | Arduino |
|---|---|
| Vcc | 5V |
| I/O | A9 |
| GND | GND |
タッチセンサでLチカするプログラム
こちらの動画のように、タッチセンサでLチカするプログラムをArduinoに書き込みます。

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