検索コード

Arduino用TTP223静電容量タッチモジュールの紹介

Arduino用TTP223静電容量タッチモジュールの紹介

このチュートリアルでは、TTP223静電容量式タッチモジュールを探求し、Arduinoと統合してタッチセンサー付きスイッチを作成する方法を説明します。TTP223は、リレーやライトなどのデバイスをタッチするだけでオンまたはオフにできるシンプルで効果的なモジュールです。このプロジェクトでは、モジュールを接続し、タッチ入力を読み取り出力デバイスを制御する基本的なArduinoプログラムを書く方法を示します。このプロジェクトのコードと配線については、設定を簡単に再現できるように詳細に説明します。視覚的な学習者には、設定とコーディングプロセスの明確化のために関連するビデオチュートリアル(ビデオの03:15)を視聴することをお勧めします。

ハードウェアの解説

TTP223静電容量タッチモジュールは、静電容量センサーを通じてタッチ入力を検出するコンパクトで使いやすいデバイスです。タッチが検出されると高くなる単一の出力ピンがあり、シンプルなタッチで電子機器を制御したいアプリケーションに最適です。このモジュールは2.0から5.5ボルトの供給電圧で動作し、ほとんどのArduinoボードと互換性があります。 モジュールには通常、電源用のVCC、グラウンド用のGND、およびタッチが検出されたときに信号を送信する出力ピンがいくつかあります。この出力ピンはArduinoのデジタル入力ピンに接続でき、タッチの状態を簡単に読み取ることができます。TTP223モジュールは、物理スイッチが望ましくないプロジェクトに特に便利です。

データシートの詳細

製造業者Seeed Studio
部品番号TTP223
ロジック/IO電圧2.0 - 5.5 V
供給電圧2.0 - 5.5 V
出力電流最大20 mA
ピーク電流30 mA
動作温度-40から85 °C
パッケージTO-220

  • モジュールが損傷しないように、適切な電圧供給(2.0 - 5.5 V)を確保してください。
  • 出力ピンはArduinoの任意のデジタルピンに接続できます。
  • GNDピンをArduinoのグラウンドに接続します。
  • モジュールを電気ノイズの発生源から遠ざけて、誤動作を避けてください。
  • 必要に応じてプルアップ抵抗を使用して、安定した読み取りを行ってください。

配線指示

TTP223静電タッチモジュールをArduinoに接続するには、まずモジュールのVCCピンをArduinoの5Vピンに接続します。次に、モジュールのGNDピンをArduinoのGNDピンの1つに接続します。TTP223の出力ピンはタッチ信号を送信するため、Arduinoのデジタルピン、例えばピン2に接続する必要があります。 タッチモジュールとリレーを使用する場合は、リレー制御ピンを別のデジタルピン、例えばピン8に接続します。リレーの電源が仕様に従って正しく接続されていることを確認してください。複数のタッチモジュールを使用する場合は、追加の出力ピンをArduinoの他のデジタルピンに接続し、配線プロセスを繰り返すことができます。

コード例とウォークスルー

次のコードスニペットは、ピンを初期化し、シリアル通信を設定します。変数touchPinTTP223モジュールの出力に接続されていますが、relayPinリレーを制御します。


int touchPin = 2; // connect output from TTP223 to this
int relayPin = 8; // Connected to relay

void setup() {
  Serial.begin(9600);
  pinMode(touchPin, INPUT); 
  pinMode(relayPin, OUTPUT);
}

このコードはタッチモジュールとリレーピンを初期化し、ループ関数での使用に備えています。Serial.begin(9600)コマンドはシリアル通信のボーレートを設定し、シリアルモニターを介してタッチの状態を監視できるようにします。 ループ内では、プログラムがタッチ入力の状態をチェックし、それに応じてリレーを切り替えます。タッチが検出されると、「Touched」とシリアルモニターに表示し、リレーをオンにします。


void loop() {
  val = digitalRead(touchPin); 
  if(val == 1) {
    Serial.println("Touched");
    digitalWrite(relayPin, LOW); // turn relay ON
  }
  delay(100);
}

この抜粋は、タッチ入力がどのように読み取られ、処理されるかを示しています。digitalRead(touchPin)タッチが検出されたかどうかを確認する関数です。検出された場合、リレーは設定によってアクティブ化されます。relayPin低く。

デモンストレーション / 期待すること

コードを実行し、TTP223モジュールに触れると、シリアルモニターに「Touched」と表示され、タッチが検出されたことを示します。接続されたリレーはrelayPinそれもアクティブになり、それに接続された任意のデバイスを制御できるようになります。デバウンス効果に注意してください。センサーにあまりにも早く触れると、複数のタッチが登録される可能性があります。 より複雑なセットアップの場合、異なるデバイスを制御するために複数のTTP223モジュールを追加できます。各モジュールは別々の入力ピンに配線でき、同じループ関数で管理できるため、複数の出力を柔軟に制御できます(ビデオの10:45で)。

ビデオのタイムスタンプ

  • 00:00- TTP223モジュールの紹介
  • 03:15- 配線指示
  • 05:30- コードウォークスルー
  • 10:45- タッチモジュールのデモンストレーション
8-The source code for the TTP223 touch module for Arduino
言語: C++
/*
 * これはTTP223タッチモジュールスイッチ用のArduinoコードです。モジュールに触れることで、ピン8がリレーまたはスイッチをONにする信号を送ります。
 * 
 * Ahmad S.がRoboja.comのために作成しました
 * 日付:2017年4月1日、カナダ・オンタリオ州アジャックスにて
 * このコードを共有する許可が与えられますが、このノートがコードと一緒に保持されることが条件です。
 * 免責事項:このコードは「現状のまま」であり、教育目的のみに使用されます。
 */
int touchPin = 2; // TTP223から出力をこれに接続します。
int val = 0;
int relayPin = 8; // リレーに接続されました

void setup() {
 Serial.begin(9600);
 pinMode(touchPin, INPUT);
  pinMode(relayPin, OUTPUT);

}

void loop() {
  digitalWrite(relayPin, HIGH);
  val = digitalRead(touchPin);
  if(val ==1){
  Serial.println("Touched");
  digitalWrite(relayPin, LOW);
  }
  delay(100);
  Serial.println();
}
9-The source code for the TTP223 touch module for Arduino for a two-touch module
言語: C++
/*
 * これはTTP223タッチモジュールスイッチのためのArduinoコードです。モジュールに触れることで、ピン8がリレーまたはスイッチをONにする信号を送信します。
 * 
 * Ahmad S.によってRobojax.comのために書かれました。
 * 日付:2017年4月1日、カナダ・オンタリオ州アジャックスにて。
 * このコードを共有する許可が与えられており、この
 * メモがコードと共に保管される限り有効です。
 * 免責事項:このコードは「現状のまま」であり、教育目的のみのものです。
 * 
 * /
 * 
 * // 1チャンネル
 */
int touchPin1 = 2; // TTP223からの出力をこれに接続します。
int val = 0;
int relayPin = 8; // リレーに接続されました

 // 第2チャンネル
int touchPin2 = 3; // TTP223からの出力をこれに接続します。
int val2 = 0;
int relayPin2 = 9; // リレーに接続されました

void setup() {
 Serial.begin(9600);
 pinMode(touchPin, INPUT); // タッチからの入力
 pinMode(relayPin, OUTPUT); // リレーに出力

  pinMode(touchPin2, INPUT); // タッチからの入力 (2)
 pinMode(relayPin2, OUTPUT); // 出力を中継する (2)

}

void loop() {
 // チャネル1コードの開始
  digitalWrite(relayPin, HIGH); // リレーをHIGHに設定します(リレーがロートリガーの場合。そうでない場合は、この行を削除してください)
  val = digitalRead(touchPin); // チャンネル1のタッチモジュール値を読む
  if(val ==1){
  Serial.println("Channel 1 Touched");
  digitalWrite(relayPin, LOW); // スイッチ1のリレーをオンにする
  }
  delay(100);
  Serial.println();
 // チャンネル1のコードの終了

 // チャネル2コードの開始
  digitalWrite(relayPin2, HIGH); // リレーをHIGHに設定します(リレーがロートリガーの場合。そうでない場合は、この行を削除してください)
  val2 = digitalRead(touchPin2); // チャンネル2のタッチモジュール値を読み取る
  if(val2 ==1){
  Serial.println("Channel 2 Touched");
  digitalWrite(relayPin2, LOW); // スイッチのリレー2をオンにする
  }
  delay(100);
  Serial.println();
 // チャンネル2コードの終わり
}

リソースと参考文献

まだリソースはありません。

ファイル📁

ファイルは利用できません。