Caută cod

TTP224 Senzor tactil cu 4 canale pentru comutarea sarcinilor AC/DC cu releu

TTP224 Senzor tactil cu 4 canale pentru comutarea sarcinilor AC/DC cu releu

Modulul tactil capacitiv TTP224 este o componentă versatilă care permite utilizatorilor să controleze sarcini AC și DC (cum ar fi lumina, ventilatorul, motorul) prin intrări tactile. În acest tutorial, vom demonstra cum să conectați TTP224 la un Arduino pentru a opera un releu, care poate comuta luminile sau alte dispozitive pornite și oprite doar printr-o atingere. La finalul acestui ghid, veți avea un sistem de control tactil complet funcțional pentru dispozitivele dumneavoastră electrice. Pentru o demonstrație vizuală, nu uitați să urmăriți videoclipul (în videoclip la 00:00).
TTP224 touch module

Hardware Explicat

Componentele principale utilizate în acest proiect includ modulul tactil capacitiv TTP224, o placă Arduino și un modul releu. Modulul TTP224 detectează atingerea prin senzare capacitivă, ceea ce înseamnă că poate înregistra o atingere măsurând modificările de capacitate atunci când un deget este plasat lângă plăcuțele sale. Acest modul are patru ieșiri care corespund la patru intrări tactile diferite, permițându-vă să controlați mai multe dispozitive. Modulul releu acționează ca un comutator care poate controla în siguranță sarcinile AC de înaltă tensiune. Releul utilizat în acest tutorial este declanșat la nivel LOW, ceea ce înseamnă că atunci când semnalul la intrarea modulului releu este LOW, releul se activează, iar când semnalul este HIGH, releul se dezactivează. Când releul este activat, acesta conectează terminalul comun la terminalul normal deschis, permițând curentului să curgă către dispozitivul conectat. Releul este controlat de Arduino, care citește ieșirile de la TTP224 și activează releul în consecință.

Detalii din Fișa Tehnică

ProducătorVishay
Număr de piesăTTP224
Tensiune logică/IO2.2 – 5.5 V
Curent de ieșire (pe canal)10 mA (max)
Praguri logice de intrare0.3 V (jos), 0.7 V (sus)
PachetDIP cu 16 pini
Note / variantePatru canale tactile

  • Asigurați-vă că modulul este alimentat între 2.2 – 5.5 V pentru funcționare corectă.
  • Monitorizați curentul de ieșire pentru a evita depășirea a 10 mA pe canal.
  • Utilizați condensatoare de decuplare lângă modul pentru a filtra zgomotul sursei de alimentare.
  • Păstrați cablurile scurte pentru a reduce interferențele și a îmbunătăți calitatea semnalului.
  • Utilizați rezistențe de pull-down pe pinii de intrare dacă nu folosiți Arduino pentru control.

Instrucțiuni de Cablare

Arduino wiring for  TTP224 Touch with 4 Channel relay
Arduino wiring for TTP224 Touch with 4 Channel relay
Pentru a cabla modulul tactil TTP224 și releul la Arduino, începeți prin conectarea alimentării. Conectați pinul VCC al TTP224 la ieșirea de 5V a Arduino și conectați pinul GND la masa Arduino. Apoi, conectați cei patru pini de ieșire ai TTP224 (etichetați OUT1, OUT2, OUT3, OUT4) la pinii digitali de pe Arduino. De exemplu, conectați OUT1 la pinul 2, OUT2 la pinul 3, OUT3 la pinul 4 și OUT4 la pinul 5. Pentru releu, conectați pinul său VCC la ieșirea de 5V a Arduino și pinul GND la masă. Pinul de control al releului ar trebui conectat la pinul 10 de pe Arduino. Asigurați-vă că unul dintre terminalele comune ale releului este conectat la sarcina AC sau DC, în timp ce terminalul normal deschis (NO) se conectează la sursa de alimentare. Dacă doriți ca releul să se activeze atunci când este detectată o atingere, îl veți conecta la terminalul comun, iar terminalul NO se va conecta la sarcină.

Exemple de Cod și Explicații

Codul Arduino începe prin configurarea pinilor de ieșire pentru releu și a pinilor de intrare pentru senzorii tactili. Codul inițializează și comunicarea serială pentru depanare.
void setup() {
    Serial.begin(9600);
    pinMode(10, OUTPUT); // LED pentru butonul 1
    pinMode(11, OUTPUT); // LED pentru butonul 2
    pinMode(12, OUTPUT); // LED pentru butonul 3
    pinMode(13, OUTPUT); // LED pentru butonul 4            
    pinMode(2, INPUT); // Pin de intrare buton 1 - pin 2  
    pinMode(3, INPUT); // Pin de intrare buton 2 - pin 3  
    pinMode(4, INPUT); // Pin de intrare buton 3 - pin 4  
    pinMode(5, INPUT); // Pin de intrare buton 4 - pin 5              
}
Această funcție de configurare configurează pinii pentru senzorii tactili și ieșirile releului. Inițializează monitorul serial pentru a urmări apăsările de butoane. Funcția loop verifică continuu starea fiecărui senzor tactil. Când un buton este apăsat, activează ieșirea corespunzătoare a releului și afișează un mesaj în monitorul serial.
void loop() {
    if(digitalRead(2)){
      Serial.println("Butonul 1 Atingere "); 
      digitalWrite(10, LOW); // Activează LED-ul     
    } else {
      digitalWrite(10, HIGH); // Dezactivează LED-ul
    }
    // Verificări similare pentru butoanele 2, 3 și 4...
}
Această buclă citește starea fiecărui buton și activează pinul corespunzător al releului. Dacă butonul 1 este apăsat, se afișează mesajul "Butonul 1 Atingere", iar releul conectat la pinul 10 este activat. În final, pentru a modifica durata de activare a releului, puteți schimba cu ușurință valoarea de întârziere din cod. Acest lucru permite o flexibilitate mai mare în controlul dispozitivelor dumneavoastră.

Demonstrație / Ce să Vă Așteptați

Când este alimentat, sistemul vă va permite să controlați sarcina conectată atingând plăcuțele respective de pe TTP224. De exemplu, atingerea primei plăcuțe va activa releul conectat la pinul 10, care poate alimenta lumina dumneavoastră 💡. Dacă eliberați atingerea, lumina 💡 se va stinge (în videoclip la 03:00). Fiți atenți la cablare; asigurați-vă că releul este conectat corect pentru a preveni scurtcircuitele sau deteriorarea dispozitivelor. Dacă releul nu se activează conform așteptărilor, verificați toate conexiunile și confirmați că codul Arduino corespunde configurației de pini intenționate.

Marcaje Temporale din Videoclip

  • 00:00 - Introducere
  • 01:30 - Configurare Hardware
  • 03:00 - Prezentare Cod
  • 04:30 - Demonstrație
4 Channel 5V relay module - top view

Imagini

TTP224 touch module
TTP224 touch module
Arduino wiring for  TTP224 Touch with 4 Channel relay
Arduino wiring for TTP224 Touch with 4 Channel relay
4 Channel 5V relay module - bottom view
4 Channel 5V relay module - bottom view
4 Channel 5V relay module - top view
4 Channel 5V relay module - top view
20-TTP224 4-Channel Capacitive Touch Arduino with Relay Code
Limba: C++
/*
 * This is the Arduino code for TTP224 4-Channel Capacitive Touch switch.
 * The output pins 10, 11, 12, and 13 will be LOW when keys 1 to 4 are pressed respectively,
 * and the connected relay will go ON.
 * Pressing button 1 turns pin 10 LOW.
 * Pressing button 2 turns pin 11 LOW.
 * Pressing button 3 turns pin 12 LOW.
 * Pressing button 4 turns pin 13 LOW.
 * 
 * Written by Ahmad Nejrabi for Roboja Video
 * Date: December 3, 2017, in Ajax, Ontario, Canada
 * Permission granted to share this code given that this
 * note is kept with the code.
 * Disclaimer: This code is "AS IS" and for educational purposes only.
 * 
 */


 int LD = 200; // Loop Delay. Do not change.

void setup() {
    Serial.begin(9600);
    // out pins
    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            

    // input pins
    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              


    Serial.println("Robojax Test");

}

void loop() {

    // button 1 action
    if(digitalRead(2)){
      Serial.println("Button 1 Touched "); 
      digitalWrite(10, LOW); // Turn the LED ON     
      delay(LD); 
    }else{
      digitalWrite(10, HIGH);// Turn OFF the LED
    }

    // button 2 action
    if(digitalRead(3)){
      Serial.println("Button 2 Touched "); 
      digitalWrite(11, LOW); // Turn the LED ON
      delay(LD); 
    }else{
      digitalWrite(11, HIGH);// Turn OFF the LED
    }   

    // button 3 action
    if(digitalRead(4)){
      Serial.println("Button 3 Touched "); 
      digitalWrite(12, LOW); // Turn the LED ON       
      delay(LD); 
    }else{
      digitalWrite(12, HIGH);// Turn OFF the LED
    }     

   // button 4 action
    if(digitalRead(5)){
      Serial.println("Button 4 Touched "); 
      digitalWrite(13, LOW); // Turn the LED ON      
      delay(LD); 
    }else{
      digitalWrite(13, HIGH);// Turn OFF the LED
    }

}// loop

Resurse și referințe

Încă nu sunt resurse.

Fișiere📁

Fișă tehnică (pdf)

Fișier Fritzing

Alte fișiere