Search Code

TTP224 4-kanałowy czujnik dotykowy do włączania obciążeń AC/DC za pomocą przekaźnika

TTP224 4-kanałowy czujnik dotykowy do włączania obciążeń AC/DC za pomocą przekaźnika

Moduł dotykowy pojemnościowy TTP224 to wszechstronny komponent, który pozwala użytkownikom sterować obciążeniami AC i DC (takimi jak światło, wentylator, silnik) za pomocą dotyku. W tym samouczku pokażemy, jak podłączyć TTP224 do Arduino, aby sterować przekaźnikiem, który może włączać i wyłączać światła lub inne urządzenia jednym dotknięciem. Po ukończeniu tego przewodnika będziesz mieć w pełni funkcjonalny system sterowania dotykowego dla swoich urządzeń elektrycznych. Aby zobaczyć wizualny przewodnik, koniecznie obejrzyj wideo (na wideo o 00:00).
TTP224 touch module

Wyjaśnienie sprzętu

Główne komponenty użyte w tym projekcie to moduł dotykowy pojemnościowy TTP224, płytka Arduino oraz moduł przekaźnika. Moduł TTP224 wykrywa dotyk poprzez czujniki pojemnościowe, co oznacza, że może zarejestrować dotyk, mierząc zmiany pojemności, gdy palec znajduje się w pobliżu jego pól. Moduł ten ma cztery wyjścia odpowiadające czterem różnym wejściom dotykowym, co pozwala na sterowanie wieloma urządzeniami. Moduł przekaźnika działa jak przełącznik, który może bezpiecznie sterować obciążeniami AC o wysokim napięciu. Przekaźnik użyty w tym samouczku jest wyzwalany poziomem niskim, co oznacza, że gdy sygnał na wejściu modułu przekaźnika jest NISKI, przekaźnik włącza się, a gdy sygnał jest WYSOKI, przekaźnik wyłącza się. Gdy przekaźnik jest aktywowany, łączy wspólny zacisk z normalnie otwartym zaciskiem, umożliwiając przepływ prądu do podłączonego urządzenia. Przekaźnik jest sterowany przez Arduino, które odczytuje wyjścia z TTP224 i odpowiednio aktywuje przekaźnik.

Szczegóły z karty katalogowej

ProducentVishay
Numer częściTTP224
Napięcie logiczne/IO2,2 – 5,5 V
Prąd wyjściowy (na kanał)10 mA (maks.)
Progi logiczne wejścia0,3 V (niski), 0,7 V (wysoki)
Obudowa16-pin DIP
Uwagi / wariantyCztery kanały dotykowe

  • Upewnij się, że moduł jest zasilany napięciem w zakresie 2,2 – 5,5 V dla prawidłowego działania.
  • Monitoruj prąd wyjściowy, aby nie przekroczyć 10 mA na kanał.
  • Użyj kondensatorów odsprzęgających w pobliżu modułu, aby filtrować szumy zasilania.
  • Utrzymuj krótkie okablowanie, aby zmniejszyć zakłócenia i poprawić jakość sygnału.
  • Użyj rezystorów podciągających do masy na pinach wejściowych, jeśli nie używasz Arduino do sterowania.

Instrukcje podłączenia

Arduino wiring for  TTP224 Touch with 4 Channel relay
Arduino wiring for TTP224 Touch with 4 Channel relay
Aby podłączyć moduł dotykowy TTP224 i przekaźnik do Arduino, zacznij od podłączenia zasilania. Podłącz pin VCC modułu TTP224 do wyjścia 5V Arduino, a pin GND do masy Arduino. Następnie podłącz cztery piny wyjściowe TTP224 (oznaczone jako OUT1, OUT2, OUT3, OUT4) do pinów cyfrowych na Arduino. Na przykład podłącz OUT1 do pinu 2, OUT2 do pinu 3, OUT3 do pinu 4, a OUT4 do pinu 5. Dla przekaźnika podłącz jego pin VCC do wyjścia 5V Arduino, a pin GND do masy. Pin sterujący przekaźnika powinien być podłączony do pinu 10 na Arduino. Upewnij się, że jeden ze wspólnych zacisków przekaźnika jest podłączony do obciążenia AC lub DC, podczas gdy zacisk normalnie otwarty (NO) łączy się ze źródłem zasilania. Jeśli chcesz, aby przekaźnik włączał się po wykryciu dotyku, podłączysz go do wspólnego zacisku, a zacisk NO połączy się z obciążeniem.

Przykłady kodu i omówienie

Kod Arduino zaczyna się od skonfigurowania pinów wyjściowych dla przekaźnika i pinów wejściowych dla czujników dotykowych. Kod inicjalizuje również komunikację szeregową do debugowania.
void setup() {
    Serial.begin(9600);
    pinMode(10, OUTPUT); // LED dla przycisku 1
    pinMode(11, OUTPUT); // LED dla przycisku 2
    pinMode(12, OUTPUT); // LED dla przycisku 3
    pinMode(13, OUTPUT); // LED dla przycisku 4            
    pinMode(2, INPUT); // Wejście przycisku 1 pin 2  
    pinMode(3, INPUT); // Wejście przycisku 2 pin 3  
    pinMode(4, INPUT); // Wejście przycisku 3 pin 4  
    pinMode(5, INPUT); // Wejście przycisku 4 pin 5              
}
Ta funkcja setup konfiguruje piny dla czujników dotykowych i wyjść przekaźnika. Inicjalizuje monitor szeregowy do śledzenia naciśnięć przycisków. Funkcja loop stale sprawdza stan każdego czujnika dotykowego. Gdy przycisk jest naciśnięty, włącza odpowiednie wyjście przekaźnika i wypisuje komunikat na monitorze szeregowym.
void loop() {
    if(digitalRead(2)){
      Serial.println("Przycisk 1 dotknięty "); 
      digitalWrite(10, LOW); // Włącz LED     
    } else {
      digitalWrite(10, HIGH); // Wyłącz LED
    }
    // Podobne sprawdzenia dla przycisków 2, 3 i 4...
}
Ta pętla odczytuje stan każdego przycisku i aktywuje odpowiedni pin przekaźnika. Jeśli przycisk 1 jest naciśnięty, wypisywany jest komunikat "Przycisk 1 dotknięty", a przekaźnik podłączony do pinu 10 jest aktywowany. Na koniec, aby zmodyfikować czas, przez jaki przekaźnik pozostaje aktywowany, możesz łatwo zmienić wartość opóźnienia w kodzie. Pozwala to na większą elastyczność w sterowaniu urządzeniami.

Demonstracja / Czego się spodziewać

Po włączeniu zasilania system pozwoli Ci sterować podłączonym obciążeniem, dotykając odpowiednich pól na TTP224. Na przykład dotknięcie pierwszego pola włączy przekaźnik podłączony do pinu 10, co może zasilić Twoje światło 💡. Jeśli puścisz dotyk, światło 💡 zgaśnie (na wideo o 03:00). Zachowaj ostrożność przy okablowaniu; upewnij się, że przekaźnik jest podłączony prawidłowo, aby zapobiec zwarciom lub uszkodzeniu urządzeń. Jeśli przekaźnik nie aktywuje się zgodnie z oczekiwaniami, sprawdź wszystkie połączenia i zweryfikuj, czy kod Arduino odpowiada zamierzonej konfiguracji pinów.

Znaczniki czasowe wideo

  • 00:00 - Wprowadzenie
  • 01:30 - Konfiguracja sprzętu
  • 03:00 - Omówienie kodu
  • 04:30 - Demonstracja
4 Channel 5V relay module - top view

Obrazy

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
Język: 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

Zasoby i odniesienia

Brak zasobów.

Pliki📁

Karta katalogowa (pdf)

Plik Fritzing

Inne pliki