一部のアプリケーションでは、デバイスの機能を制御するためにユーザー入力が必要です。組み込み電子機器とデジタル電子機器で使用されるユーザー入力方法にはさまざまな種類があります。タッチセンサーもそのひとつです。タッチセンサーは、マイクロコントローラーとインターフェースするための重要で広く使用されている入力デバイスであり、データの入力を簡単にしました。タッチセンサーは、携帯電話でも液晶モニタースイッチでも、それぞれの場所で使用できます。しかし、市場には多くの種類のセンサーがありますが、静電容量式タッチセンサーはタッチセンサーセグメントで広く使用されているタイプです。
前のチュートリアルでは、タッチセンサーと8051マイクロコントローラーを使用して光を制御しましたが、このプロジェクトでは、同じタッチセンサーがArduinoUNOとインターフェースします。Arduinoは広く人気があり、簡単に入手できる開発ボードです。
以前は、次のようなさまざまなマイクロコントローラーで静電容量式タッチパッドを使用したタッチベースの入力方法を使用していました。
- ATmega32マイクロコントローラーとインターフェースするタッチキーパッド
- ラズベリーパイ付き静電容量式タッチパッド
タッチセンサー
このプロジェクトで使用されるタッチセンサーは静電容量式タッチセンサーモジュールであり、センサードライバーはドライバーICTTP223に基づいています。 TTP223ICの動作電圧は2V〜5.5 Vで、タッチセンサーの消費電流は非常に低くなっています。安価で低消費電流で、サポートを簡単に統合できるため、TTP223を備えたタッチセンサーは静電容量式タッチセンサーセグメントで人気があります。
上の画像では、ピン配置図がはっきりと見えるセンサーの両側が示されています。また、出力に関してセンサーを再構成するために使用できるはんだジャンパーもあります。ジャンパーはAとBです。デフォルト構成またははんだジャンパーのデフォルト状態では、センサーに触れると出力がLOWからHIGHに変わります。ただし、ジャンパーを設定してセンサーを再構成すると、タッチセンサーがタッチを検出すると出力の状態が変化します。タッチセンサーの感度は、コンデンサーを変更することによっても構成できます。詳細については、非常に役立つTTP223のデータシートを参照してください。
下のグラフは、さまざまなジャンパー設定でのさまざまな出力を示しています-
ジャンパーA | ジャンパーB | 出力ロック状態 | 出力TTLレベル |
開いた | 開いた | ロックなし | 高い |
開いた | 閉じる | セルフロック | 高い |
閉じる | 開いた | ロックなし | 低 |
閉じる | 閉じる | セルフロック | 低 |
このプロジェクトでは、センサーは工場出荷時のリリース状態で使用可能なデフォルト構成として使用されます。
アプライアンスは、タッチセンサーを使用し、マイクロコントローラーと接続することで制御できます。このプロジェクトでは、タッチセンサーを使用して、ArduinoUNOとリレーを使用して電球をオンまたはオフに制御します。
リレーについて知る
リレーをインターフェースするには、リレーのピンの説明について公正な考えを持つことが重要です。リレーのピン配列は下の画像で見ることができます-
NOは通常開いており、NCは通常接続されています。 L1とL2はリレーコイルの2つの端子です。電圧が印加されていない場合、リレーはオフになり、POLEはNCピンに接続されます。コイル端子間に電圧が印加されると、リレーのL1とL2がONになり、POLEがNOに接続されます。そのため、リレーの動作状態を変えることで、POLEとNOの接続をON / OFFすることができます。申請前にリレーの仕様を確認することを強くお勧めします。リレーの動作電圧はL1とL2の間にあります。一部のリレーは12Vで動作し、一部は6Vで動作し、一部は5Vで動作します。これだけでなく、NO、NC、POLEにも電圧と電流の定格がありました。このアプリケーションでは、スイッチング側に250V、6A定格の5Vリレーを使用しています。
必要なコンポーネント
- Arduino UNO
- プログラミングと電源用のUSBケーブル
- 標準キュービックリレー-5V
- 2k抵抗-1個
- 4.7k抵抗-1個
- BC549Bトランジスタ
- TTP223センサーモジュール
- 1N4007ダイオード
- 電球ホルダー付き電球
- ブレッドボード
- USBケーブルを介してArduinoを接続するための電話充電器。
- フックアップワイヤーまたはベルクワイヤーがたくさん。
- Arduinoプログラミングプラットフォーム。
2k抵抗、BC549B、1N4007、およびリレーは、リレーモジュールと交換できます。
回路図
タッチセンサーをArduinoに接続するための回路図は単純で、以下に見ることができます。
トランジスタは、リレーのオンとオフを切り替えるために使用されます。これは、ArduinoGPIOピンがリレーを駆動するのに十分な電流を供給できないためです。1N4007は、リレーのオンまたはオフの状況でのEMIブロッキングに必要です。ダイオードはフリーホイールダイオードとして機能しています。タッチセンサーはArduinoUNOボードに接続されています。
回路は、以下のようにArduinoを使用してブレッドボード上に構築されます。
適切なブレッドボード接続は、以下の図に示されています。
タッチセンサーを使用して電球を制御するためのArduinoUNOのプログラミング
最後に、動作するビデオを含む完全なプログラムを示します。ここでは、コードのいくつかの重要な部分について説明します。Arduino UNOは、ArduinoIDEを使用してプログラムされます。まず、Arduinoのすべてのデフォルト機能にアクセスするためのArduinoライブラリが含まれています。
#include
リレーとタッチセンサーを接続するすべてのピン番号を定義します。ここでは、タッチセンサーがピンA5に接続されています。ボード内でピン13に直接接続されている内蔵LEDも使用されます。リレーはピンA4に接続されています。
/ ** ピンの説明 * / int Touch_Sensor = A5; int LED = 13; intリレー= A4;
ピンモードを定義します。つまり、入力としても出力としてもピン機能を定義します。ここでタッチセンサーを入力します。リレーピンとLEDピンが出力されます。
/ ** ピンモードの設定 * / void setup(){ pinMode(Touch_Sensor、INPUT); pinMode(LED、OUTPUT); pinMode(リレー、出力); }
2つの整数が宣言され、「条件」は、センサーがタッチされているかどうかに関係なく、センサーの状態を保持するために使用されます。「状態」は、LEDとリレーの状態をオンまたはオフに保持するために使用されます。
/ ** プログラムフローの説明 * / int condition = 0; int状態= 0; //スイッチの状態を保持します。
タッチセンサーは、タッチされるとロジック0を1に変更します。これは digitalRead() 関数によって読み取られ、値は条件変数に格納されます。状態が1の場合、LEDとリレーの状態が変化します。ただし、タッチを正確に検出するために、デバウンス遅延が使用されます。デバウンス遅延 、delay(250); シングルタッチを確認するために使用されます。
void loop(){ 条件= digitalRead(A5); // ArduinoのA5ピンからデジタルデータを読み取ります。 if(条件== 1){ 遅延(250); //遅延をデバウンスします。 if(condition == 1){ state = 〜state ; //スイッチの状態を変更します。digitalWrite(LED、状態); digitalWrite(リレー、状態); } } }
タッチセンサーTTP223の動作のテスト
回路は、低電力電球が接続されたブレッドボードでテストされます。
注意電球を使用しながら、注意するように助言されるように、このプロジェクトは、230-240V AC電圧を使用しています。疑問や提案がある場合は、以下にコメントしてください。