Search Code

Bir TTP223B dokunmatik modülü ve röle kullanarak Arduino ile AC/DC yükleri kontrol etme

Bir TTP223B dokunmatik modülü ve röle kullanarak Arduino ile AC/DC yükleri kontrol etme

Bu eğitimde, TTP223B kapasitif dokunmatik modülünü bir röle ile birlikte kullanarak Arduino ile AC veya DC yükleri nasıl kontrol edeceğimizi keşfedeceğiz. Bu kurulum, ampul veya diğer elektrikli bileşenler gibi cihazların dokunmatik tabanlı olarak rahatça etkinleştirilmesini sağlar. Bileşenleri nasıl bağlayacağınızı, Arduino kodunu nasıl yazacağınızı ve dokunulduktan sonra yükün ne kadar süre aktif kalacağını ayarlamayı öğreneceksiniz. Bu, hem yeni başlayanlar hem de becerilerini geliştirmek isteyen deneyimli kullanıcılar için harika bir projedir.

Schematic of TTP223 module
Arduino wring for TTP223 Touch sensor with relay
TTP223 Touch module - Top view
TTP223 Touch module - Top view

Bu kılavuz boyunca, bu projeyi çalışır hale getirmek için gereken temel bileşenler, bağlantı talimatları ve programlama adımlarında size yol göstereceğiz. Ayrıca, yük aktivasyon süresini tercihlerinize göre nasıl değiştireceğinizi de öğreneceksiniz (videoda 10:15'te). Sürecin görsel bir gösterimi için lütfen ilgili videoyu izlemeyi unutmayın.

Donanım Açıklaması

Bu projenin temel bileşenleri TTP223B dokunmatik modülü, bir röle ve bir Arduino içerir. TTP223B modülü dokunmatik girişleri algılar ve Arduino'ya bir sinyal gönderir; Arduino daha sonra röleyi kontrol edebilir. Röle bir anahtar görevi görerek yüksek voltajlı AC veya DC yükleri güvenli bir şekilde kontrol etmenizi sağlar.

TTP223B çipi Taiwan Semiconductor (TONTEK) tarafından üretilmiştir ve modül 2.2V ile 5.5V arasında bir besleme voltajıyla çalışır ve üç pine sahiptir: VCC (güç), GND (toprak) ve SIG (sinyal). Dokunmatik yüzey etkinleştirildiğinde, SIG pini Arduino'ya yüksek bir sinyal gönderir. Tam ayrıntılar için veri sayfasına bakın. Röle ise yükü açıp kapatmak için Arduino'dan bir kontrol sinyali gerektirir. Bu kontrol, röleye bağlı bir dijital çıkış pini aracılığıyla sağlanır.

Veri Sayfası Ayrıntıları

ÜreticiTaiwan Semiconductor (TONTEK)
Parça numarasıTTP223B
Mantık/IO voltajı2.2 - 5.5 V
Besleme voltajı2.2 - 5.5 V
Çıkış akımı (kanal başına)Maks. 20 mA
Tepe akımı (kanal başına)Maks. 50 mA
PWM frekansı yönergesiYok
Giriş mantık eşikleri0.3 * VCC (düşük), 0.7 * VCC (yüksek)
Gerilim düşümü / RDS(on) / doyumYok
Termal limitlerYok
PaketTO-220
Notlar / varyantlarBA6 olarak da bilinir

  • Yanlış tetiklemeyi önlemek için doğru topraklama sağlayın.
  • Dokunmatik sinyal hattındaki gürültüyü filtrelemek için bir kapasitör kullanın.
  • Yük gereksinimlerine uygun olduğundan emin olmak için röle özelliklerini doğrulayın.
  • AC bağlantılarında dikkatli olun—uygun yalıtım ve güvenlik önlemlerini sağlayın.
  • İstenen yük aktivasyon süresi için koddaki zamanlamayı ayarlayın.

Bağlantı Talimatları

TTP223B dokunmatik modülünü ve röleyi Arduino ile bağlamak için şu adımları izleyin:

İlk olarak, TTP223B'nin VCC pinini Arduino'dan veya harici bir kaynaktan 5V güç kaynağına bağlayın. Ardından, TTP223B'nin GND pinini toprağa bağlayın. SIG pini, dokunmatik girişi okuyacak olan Arduino'daki pin 2'ye bağlanmalıdır.

Röle için, VCC pinini aynı 5V güç kaynağına bağlayın ve GND pinini toprağa bağlayın. Rölenin kontrol sinyali pini Arduino'daki pin 10'a bağlanmalıdır. Rölenin kontrol etmek istediğiniz yüke doğru şekilde bağlandığından emin olun; bir kablo ortak (COM) pine, diğeri ise normalde açık (NO) pine gider. Bu kurulum, rölenin Arduino'nun kontrol sinyaline göre yükü açıp kapatmasını sağlar.

Kod Örnekleri ve Açıklama

Aşağıdaki kod parçası, TTP223B dokunmatik modülü ve röle için kurulumu başlatır. Giriş ve çıkış için pin modlarını ayarlayarak Arduino'nun dokunmatik sinyalleri okumasını ve röleyi kontrol etmesini sağlar.

void setup() {
    Serial.begin(9600);
    pinMode(10, OUTPUT); // Röle kontrol pini
    pinMode(2, INPUT);   // Dokunmatik giriş pini
    Serial.println("Robojax Test: TTP223B touch");
}

Kurulumda, röleyi kontrol etmek için pin 10'u çıkış olarak ve dokunmatik sinyali okumak için pin 2'yi giriş olarak tanımlıyoruz. Hata ayıklama amacıyla bir seri monitör başlatılır.

Programın ana döngüsü, dokunmatik düğmeye basılıp basılmadığını kontrol eder. Basılıysa, röle etkinleştirilir ve bağlı yük açılır.

void loop() {
    if(digitalRead(2)) {
        Serial.println("Button Touched"); 
        digitalWrite(10, LOW); // Röleyi AÇ
        delay(LD); 
    } else {
        digitalWrite(10, HIGH); // Röleyi KAPAT
    }
}

Bu kod, pin 2'nin durumunu sürekli okur. Dokunmatik sensör etkinleştirilirse, röleyi LD değişkeni tarafından tanımlanan belirli bir süre boyunca açar. Sensöre dokunulmazsa, röle kapanır.

Gösterim / Beklentiler

Bağlantıları tamamlayıp kodu yükledikten sonra, TTP223B modülüne dokunduğunuzda bağlı yükün (örneğin bir ampul) yandığını görmelisiniz. Yükün açık kalma süresi, koddaki LD değişkeni tarafından kontrol edilir. Yükün daha uzun süre açık kalmasını istiyorsanız, LD değerini milisaniye cinsinden istediğiniz süreye artırmanız yeterlidir.

Yaygın hatalar arasında, rölenin etkinleşmemesine veya dokunmatik sensörün yanıt vermemesine yol açabilecek yanlış bağlantılar bulunur. Tüm bağlantıların güvenli olduğundan ve kodda tanımlandığı gibi doğru pinleri kullandığınızdan emin olun. Ayrıca, elektrik çarpmasını veya hasarı önlemek için AC yüklerle çalışırken dikkatli olun.

Video Zaman Damgaları

  • 00:00 - Projeye giriş
  • 02:30 - Kablo bağlantılarına genel bakış
  • 05:15 - Kod açıklaması
  • 10:15 - Kurulumun gösterimi

Görseller

Arduino wring for TTP223 Touch sensor with relay (blue)
Arduino wring for TTP223 Touch sensor with relay (blue)
Arduino wring for TTP223 Touch sensor with relay
Arduino wring for TTP223 Touch sensor with relay
TTP223 Touch module - Top view
TTP223 Touch module - Top view
TTP223 Touch module - back view
TTP223 Touch module- back view
TTP223 Touch module - Top view
TTP223 Touch module - Top view
TTP223 Touch module - back view
TTP223 Touch module - back view
Schematic of TTP223 module
Schematic of TTP223 module
21-TTP223B capacitive touch sensor with relay and AC load code
Dil: C++
/*
 * This is the Arduino code for TTP223B capacitive touch switch with relay
 * The output pin 10 is connected to the relay 
 * By touching the touch pad TTP223B or TTP223N-BA6, the relay will be turned ON

 * 
 * Written by Ahmad Nejrabi for Roboja Video
 * Date: December 4, 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. Controls how long after release the bulb is ON

void setup() {
    Serial.begin(9600);
    // output pins
    pinMode(10, OUTPUT);// LED for button 1
          

    // input pins
    pinMode(2, INPUT);// Button 1 input pin 2  
           


    Serial.println("Robojax Test: TTP223B touch");

}

void loop() {

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


}// loop
29-How to turn on an AC bulb with a TTP223 capacitive touch Arduino and relay code
Dil: C++
/*
 * This is the Arduino code for TTP223 Capacitive Touch switch with relay to turn AC or DC load
 // December 13, 2017
 // Written for Robojax.com video 
 // Using TTP223 Touch module to turn AC (or DC) load ON or OFF.
 // When the touch pad is touched the light on the relay will turn on and the COM and NO pin will be connected
 * watch video for details https://youtu.be/YSI1PdSLbt0
 * 

 * 
 * Written by Ahmad Nejrabi for RoboJax Video
 * Date: December 4, 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.
 * 
 */

 // December 12, 2017
 // Written for Robojax.com video 
 // Using TTP223 Touch module to turn AC (or DC) load ON or OFF.
 // When the touch pad is touched the light on the relay will turn on and the COM and NO pin will be connected


int touchPin = 2;// connect output from TTP223 to this
int val = 0; 
int relayPin = 10;// Connected to relay



void setup() {
  Serial.begin(9600);
  pinMode(touchPin, INPUT); 
  pinMode(relayPin, OUTPUT);

}

void loop() {
  digitalWrite(relayPin, HIGH);
  val = digitalRead(touchPin); 
  if(val ==1){
    Serial.println("Touched");
    digitalWrite(relayPin, LOW);

  }
  delay(100);
  Serial.println();
}
30-TTP223 Capacitive Touch Arduino with relay code and a 5-second delay
Dil: C++
/*
 * This is the Arduino code for TTP223 Capacitive Touch switch with relay to turn AC or DC load with delay
 // December 13, 2017
 // Written for Robojax.com video 
 // Using TTP223 Touch module to turn an AC (or DC) load ON and waits for 5 seconds before it goes OFF
 // When the touch pad is touched the light on the relay will turn on and the COM and NO pins will be connected
 * Watch the video for details: https://youtu.be/YSI1PdSLbt0
 * 

 * 
 * Written by Ahmad Nejrabi for RoboJax Video
 * Date: December 4, 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.
 * 
 */

 // December 12, 2017
 // Written for Robojax.com video 
 // Using TTP223 Touch module to turn an AC (or DC) load ON or OFF.
 // When the touch pad is touched the light on the relay will turn on and the COM and NO pins will be connected


int touchPin = 2;// connect output from TTP223 to this
int val = 0; 
int relayPin = 10;// Connected to relay
int wait = 5;// wait for 5 seconds


void setup() {
  Serial.begin(9600);
  pinMode(touchPin, INPUT); 
  pinMode(relayPin, OUTPUT);

}

void loop() {
  digitalWrite(relayPin, HIGH);
  val = digitalRead(touchPin); 
  if(val ==1){
    Serial.println("Touched");
    digitalWrite(relayPin, LOW);
    delay(wait*1000);
  }
  delay(100);
  Serial.println();
}

Kaynaklar ve referanslar

Henüz kaynak yok.

Dosyalar📁

Veri Sayfası (pdf)

Diğer dosyalar