Kod Ara

TTP224 4 Kanallı Dokunmatik Sensör ile Röle Üzerinden AC/DC Yükleri Kontrol Etme

TTP224 4 Kanallı Dokunmatik Sensör ile Röle Üzerinden AC/DC Yükleri Kontrol Etme

TTP224 kapasitif dokunmatik modülü, kullanıcıların dokunmatik girişler aracılığıyla AC ve DC yükleri (ışık, fan, motor gibi) kontrol etmesine olanak tanıyan çok yönlü bir bileşendir. Bu eğitimde, TTP224'ü bir Arduino'ya bağlayarak, sadece bir dokunuşla ışıklarınızı veya diğer cihazlarınızı açıp kapatabilen bir röleyi nasıl çalıştıracağınızı göstereceğiz. Bu kılavuzun sonunda, elektrikli cihazlarınız için tamamen işlevsel, dokunmaya duyarlı bir kontrol sistemine sahip olacaksınız. Görsel bir anlatım için videoyu (videoda 00:00) mutlaka izleyin.
TTP224 touch module

Donanım Açıklaması

Bu projede kullanılan ana bileşenler TTP224 kapasitif dokunmatik modülü, bir Arduino kartı ve bir röle modülüdür. TTP224 modülü, kapasitif algılama yoluyla dokunmayı algılar; yani parmağınız pedlerin yakınına getirildiğinde kapasitanstaki değişiklikleri ölçerek bir dokunuşu kaydedebilir. Bu modül, dört farklı dokunmatik girişe karşılık gelen dört çıkışa sahiptir ve birden fazla cihazı kontrol etmenize olanak tanır. Röle modülü, yüksek voltajlı AC yüklerini güvenli bir şekilde kontrol edebilen bir anahtar görevi görür. Bu eğitimde kullanılan röle, DÜŞÜK seviye tetiklemelidir; yani röle modülünün girişindeki sinyal DÜŞÜK olduğunda röle AÇIK konuma gelir ve sinyal YÜKSEK olduğunda röle KAPALI konuma geçer. Röle etkinleştirildiğinde, ortak terminali normalde açık terminale bağlar ve bağlı cihaza akım akışına izin verir. Röle, TTP224'ten gelen çıkışları okuyan ve röleyi buna göre etkinleştiren Arduino tarafından kontrol edilir.

Veri Sayfası Detayları

ÜreticiVishay
Parça numarasıTTP224
Mantık/IO voltajı2.2 – 5.5 V
Çıkış akımı (kanal başına)10 mA (maks)
Giriş mantık eşikleri0.3 V (düşük), 0.7 V (yüksek)
Paket16 pinli DIP
Notlar / varyantlarDört dokunmatik kanal

  • Doğru çalışma için modülün 2.2 – 5.5 V arasında güçle beslendiğinden emin olun.
  • Kanal başına 10 mA'yı aşmamak için çıkış akımını izleyin.
  • Güç kaynağı gürültüsünü filtrelemek için modülün yakınına dekuplaj kapasitörleri kullanın.
  • Paraziti azaltmak ve sinyal kalitesini artırmak için kablolamayı kısa tutun.
  • Kontrol için Arduino kullanmıyorsanız, giriş pinlerinde pull-down dirençleri kullanın.

Bağlantı Talimatları

Arduino wiring for  TTP224 Touch with 4 Channel relay
Arduino wiring for TTP224 Touch with 4 Channel relay
TTP224 dokunmatik modülünü ve röleyi Arduino'ya bağlamak için güç bağlantısıyla başlayın. TTP224'ün VCC pinini Arduino'nun 5V çıkışına bağlayın ve GND pinini Arduino'nun toprağına bağlayın. Ardından, TTP224'ün dört çıkış pinini (OUT1, OUT2, OUT3, OUT4 olarak etiketlenmiş) Arduino'daki dijital pinlere bağlayın. Örneğin, OUT1'i pin 2'ye, OUT2'yi pin 3'e, OUT3'ü pin 4'e ve OUT4'ü pin 5'e bağlayın. Röle için, VCC pinini Arduino'nun 5V çıkışına ve GND pinini toprağa bağlayın. Rölenin kontrol pini Arduino'daki pin 10'a bağlanmalıdır. Rölenin ortak terminallerinden birinin AC veya DC yüke bağlı olduğundan emin olun; normalde açık (NO) terminal ise güç kaynağına bağlanır. Bir dokunuş algılandığında rölenin açılmasını istiyorsanız, röleyi ortak terminale bağlayacaksınız ve NO terminali yüke bağlanacaktır.

Kod Örnekleri ve Anlatım

Arduino kodu, röle için çıkış pinlerini ve dokunmatik sensörler için giriş pinlerini ayarlayarak başlar. Kod ayrıca hata ayıklama için seri iletişimi de başlatır.
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              
}
Bu kurulum fonksiyonu, dokunmatik sensörler ve röle çıkışları için pinleri yapılandırır. Buton basımlarını izlemek için seri monitörü başlatır. Loop fonksiyonu, her dokunmatik sensörün durumunu sürekli kontrol eder. Bir butona basıldığında, ilgili röle çıkışını açar ve seri monitöre bir mesaj yazdırır.
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...
}
Bu loop, her butonun durumunu okur ve ilgili röle pinini etkinleştirir. Buton 1'e basılırsa, "Button 1 Touched" mesajı yazdırılır ve pin 10'a bağlı röle etkinleştirilir. Son olarak, rölenin ne kadar süre etkin kalacağını değiştirmek için kod içindeki gecikme değerini kolayca değiştirebilirsiniz. Bu, cihazlarınızı kontrol etme şeklinizde daha fazla esneklik sağlar.

Gösterim / Beklentiler

Güç açıldığında, sistem TTP224 üzerindeki ilgili pedlere dokunarak bağlı yükü kontrol etmenize olanak tanır. Örneğin, birinci pede dokunmak, pin 10'a bağlı röleyi açacak ve ışığınıza 💡 güç sağlayacaktır. Dokunuşu bırakırsanız, ışık 💡 kapanacaktır (videoda 03:00). Kablolama konusunda dikkatli olun; kısa devreleri veya cihazlarınıza zarar gelmesini önlemek için rölenin doğru bağlandığından emin olun. Röle beklenildiği gibi etkinleşmezse, tüm bağlantıları kontrol edin ve Arduino kodunun amaçlanan pin yapılandırmasıyla eşleştiğini doğrulayın.

Video Zaman Damgaları

  • 00:00 - Giriş
  • 01:30 - Donanım Kurulumu
  • 03:00 - Kod Genel Bakışı
  • 04:30 - Gösterim
4 Channel 5V relay module - top view

Görseller

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
Dil: 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

Kaynaklar ve referanslar

Henüz kaynak yok.

Dosyalar📁

Veri Sayfası (pdf)

Fritzing Dosyası

Diğer dosyalar