このチュートリアルはの一部です: Arduinoを使ったリレー制御
リレー関連の動画グループです。他の動画へのリンクはこの記事の下にあります。
TTP224 4チャンネルタッチセンサー(リレーでAC/DC負荷をオン/オフ)
TTP224静電容量式タッチモジュールは、多用途なコンポーネントで、タッチ入力により照明、ファン、モーターなどのACおよびDC負荷を制御できます。このチュートリアルでは、TTP224をArduinoに接続してリレーを動作させる方法を実演します。リレーにより、タッチ操作だけで照明やその他の機器をオン/オフできます。このガイドを終えるころには、電気機器をタッチで制御できる実用的な制御システムが完成します。視覚的な手順については、動画(in video at 00:00)をぜひご覧ください。

ハードウェア解説
このプロジェクトで使用する主な部品は、TTP224静電容量式タッチモジュール、Arduinoボード、リレーモジュールです。TTP224モジュールは静電容量センシングでタッチを検出します。すなわち、指がパッドの近くに置かれたときの静電容量変化を測定してタッチを検出します。このモジュールは4つの出力を持ち、それぞれ4つの異なるタッチ入力に対応しているため、複数の機器を制御できます。 リレーモジュールは高電圧の交流負荷を安全に制御できるスイッチとして機能します。このチュートリアルで使用するリレーはLOWレベルトリガで、リレーモジュールの入力信号がLOWのときにリレーがONになり、信号がHIGHのときにリレーがOFFになります。リレーが作動すると、共通端子(COM)が通常開(NO)端子に接続され、接続された機器に電流が流れるようになります。リレーはArduinoによって制御され、ArduinoがTTP224の出力を読み取ってそれに応じてリレーを駆動します。
データシートの詳細
| 製造元 | ヴィシェイ |
|---|---|
| 部品番号 | TTP224 |
| ロジック/IO電圧 | 2.2〜5.5 V |
| 出力電流(チャンネルあたり) | 最大10 mA |
| 入力論理閾値 | 0.3 V(低)、0.7 V(高) |
| パッケージ | 16ピンDIP |
| 注記/バリエーション | 4つのタッチチャンネル |
- 適切に動作させるため、モジュールに2.2 - 5.5 Vの範囲で電源を供給してください。
- チャネルごとに10 mAを超えないように出力電流を監視してください。
- モジュールの近くにデカップリングコンデンサを配置して電源ノイズをフィルタリングしてください。
- 配線は短く保ち、干渉を減らして信号品質を向上させてください。
- Arduinoを使って制御しない場合は、入力ピンにプルダウン抵抗を使用してください。
配線手順

TTP224タッチモジュールとリレーをArduinoに配線するには、まず電源を接続します。TTP224のVCCピンをArduinoの5V出力に、GNDピンをArduinoのグラウンドに接続します。次に、TTP224の4つの出力ピン(OUT1、OUT2、OUT3、OUT4)をArduinoのデジタルピンに接続します。例えば、OUT1をピン2、OUT2をピン3、OUT3をピン4、OUT4をピン5に接続します。 リレーについては、VCCピンをArduinoの5V出力に、GNDピンをグラウンドに接続します。リレーの制御ピンはArduinoのピン10に接続してください。リレーのコモン端子の一方をACまたはDCの負荷に接続し、通常開(NO)端子を電源に接続するようにしてください。タッチを検出したときにリレーをオンにしたい場合は、それをコモン端子に接続し、NO端子を負荷に接続します。

コード例とウォークスルー
Arduinoのコードはまずリレー用の出力ピンとタッチセンサー用の入力ピンを設定することから始まります。コードはデバッグ用にシリアル通信も初期化します。
void setup() {
Serial.begin(9600);
pinMode(10, OUTPUT); // LED for button 1
pinMode(11, OUTPUT); // LED for button 2
pinMode(12, OUTPUT); // LED for button 3
pinMode(13, OUTPUT); // LED for button 4
pinMode(2, INPUT); // Button 1 input pin 2
pinMode(3, INPUT); // Button 2 input pin 3
pinMode(4, INPUT); // Button 3 input pin 4
pinMode(5, INPUT); // Button 4 input pin 5
}このsetup関数はタッチセンサーとリレー出力用のピンを設定します。ボタンの押下を追跡するためにシリアルモニタを初期化します。 loop関数は各タッチセンサーの状態を継続的にチェックします。ボタンが押されると、対応するリレー出力をオンにし、シリアルモニタにメッセージを出力します。
void loop() {
if(digitalRead(2)){
Serial.println("Button 1 Touched ");
digitalWrite(10, LOW); // Turn the LED ON
} else {
digitalWrite(10, HIGH); // Turn OFF the LED
}
// Similar checks for buttons 2, 3, and 4...
}このループは各ボタンの状態を読み取り、対応するリレーピンを作動させます。ボタン1が押されると、メッセージ "Button 1 Touched" が表示され、ピン10に接続されたリレーが作動します。 最後に、リレーが作動したままの時間を変更するには、コード内の delay の値を簡単に変更できます。これにより、デバイスの制御方法に柔軟性が生まれます。
デモンストレーション/何を期待できるか
電源が入っていると、システムはTTP224の各パッドに触れることで接続された負荷を制御できるようになります。例えば、パッド1に触れるとピン10に接続されたリレーがオンになり、照明を点けることができます💡。タッチを離すと照明💡は消えます(動画の03:00参照)。 配線には注意してください。短絡や機器の損傷を防ぐために、リレーが正しく接続されていることを確認してください。リレーが期待どおりに動作しない場合は、すべての接続を確認し、Arduinoのコードが想定したピン配置と一致しているかを検証してください。
動画のタイムスタンプ
- 00:00- はじめに
- 01:30- ハードウェアのセットアップ
- 03:00- コードの概要
- 04:30- デモンストレーション
/*
* これはTTP224 4チャネルキャパシティブタッチスイッチ用のArduinoコードです。出力ピン10、11、12、13は、それぞれキー1から4が押されるとLOWになります。接続されたリレーはONになります。ボタン1を押すとピン10がLOWになります。ボタン2を押すとピン11がLOWになります。ボタン3を押すとピン12がLOWになります。ボタン4を押すとピン13がLOWになります。
*
* 著者:Ahmad Nejrabi for Roboja Video
* 日付:2017年12月3日、カナダのオンタリオ州アイアックス
* このコードを共有することを許可しますが、このメモをコードと一緒に保持してください。
* 免責事項:このコードは「現状のまま」であり、教育目的のみです。
*/
int LD = 200; // ループ遅延。変更しないでください。
void setup() {
Serial.begin(9600);
// 出力ピン
pinMode(10, OUTPUT); // ボタン1用のLED
pinMode(11, OUTPUT); // ボタン2用のLED
pinMode(12, OUTPUT); // ボタン3用のLED
pinMode(13, OUTPUT); // ボタン4用のLED
// 入力ピン
pinMode(2, INPUT); // ボタン1の入力ピン2
pinMode(3, INPUT); // ボタン2の入力ピン3
pinMode(4, INPUT); // ボタン3の入力ピン4
pinMode(5, INPUT); // ボタン4の入力ピン5
Serial.println("Robojax Test");
}
void loop() {
// ボタン1のアクション
if(digitalRead(2)){
Serial.println("Button 1 Touched ");
digitalWrite(10, LOW); // LEDをオンにします
delay(LD);
}else{
digitalWrite(10, HIGH); // LEDを消してください。
}
// ボタン2のアクション
if(digitalRead(3)){
Serial.println("Button 2 Touched ");
digitalWrite(11, LOW); // LEDをオンにします
delay(LD);
}else{
digitalWrite(11, HIGH); // LEDを消してください。
}
// ボタン3のアクション
if(digitalRead(4)){
Serial.println("Button 3 Touched ");
digitalWrite(12, LOW); // LEDをオンにします
delay(LD);
}else{
digitalWrite(12, HIGH); // LEDを消してください。
}
// ボタン4のアクション
if(digitalRead(5)){
Serial.println("Button 4 Touched ");
digitalWrite(13, LOW); // LEDをオンにします
delay(LD);
}else{
digitalWrite(13, HIGH); // LEDを消してください。
}
} // ループ
リソースと参考文献
まだリソースはありません。
ファイル📁
データシート(pdf)
-
台湾半導体(TONTEK)のTTP224データシート
TTP224_datasheet.pdf0.29 MB