Kod Ara

TTP224 4 Kanallı Kapasitif Dokunmatik Arduino Temel Kodu

TTP224 4 Kanallı Kapasitif Dokunmatik Arduino Temel Kodu

Bu eğitim, TTP224 4 kanallı kapasitif dokunmatik sensörü bir Arduino ile nasıl kullanacağınızı adım adım gösterecektir. TTP224, hangi düğmeye basıldığına bağlı olarak LED'leri yakabilecek basit bir dokunmatik arayüz oluşturmanıza olanak tanır. Bu projenin sonunda, dört düğmenin her birine dokunmanın ilgili LED'i yakacağı ve seri monitörde mesajlar görüntüleyeceği çalışan bir sisteme sahip olacaksınız.

TTP224 touch module

Bu kurulumda, bir düğmeye basıldığında Arduino üzerindeki ilgili çıkış pini etkinleştirilir ve bir LED yanar. Ayrıca seri monitörde hangi düğmeye dokunulduğunu belirten bir mesaj görürsünüz. Bu proje, kapasitif dokunmatik teknolojisi ve temel Arduino programlama hakkında bilgi edinmek isteyen yeni başlayanlar için idealdir. Daha fazla ayrıntı için videoyu 2:30'da kontrol ettiğinizden emin olun.

Donanım Açıklaması

Bu projenin ana bileşeni TTP224 kapasitif dokunmatik sensördür. Mekanik anahtarlar olmadan basit etkileşim sağlayan dört dokunmatik hassas düğmeye sahiptir. Bir düğmeye dokunulduğunda, sensör ilgili çıkış pininde yüksek bir sinyal verir. Bu, LED'ler veya röleler gibi diğer cihazlara bağlanmayı kolaylaştırır.

TTP224'ün yanı sıra, dokunmatik girişi işlemek ve LED'leri kontrol etmek için bir Arduino kartına ihtiyacınız olacaktır. Arduino, sensörün çıkış pinlerini okur ve LED'leri buna göre etkinleştirir. Bu kurulum, bir röleyi kontrol etmek veya bir güvenlik kilidi sistemi oluşturmak gibi daha karmaşık uygulamalar için de genişletilebilir.

Veri Sayfası Detayları

ÜreticiTonTouch
Parça numarasıTTP224
Mantık/G/Ç voltajı2,5–5,5 V
Çıkış akımı (kanal başına)10 mA maks.
Tepe akımı (kanal başına)20 mA maks.
Tepki süresi10 ms (tipik)
Paket8-DIP

  • Güç kaynağının belirtilen aralıkta sabit olduğundan emin olun.
  • Yüzen durumları önlemek için gerekirse pull-down dirençleri kullanın.
  • Sensörü güçlü elektromanyetik alanlar gibi parazit kaynaklarından uzak tutun.
  • Yanlış tetiklemeleri önlemek için bir debounce gecikmesi kullanmayı düşünün.
  • Dokunmatik hassasiyeti test edin ve optimum performans için ortamı ayarlayın.

Bağlantı Talimatları

Wring TTP224 Touch 4 Channel with 4 LED
Wring TTP224 Touch 4 Channel with 4 LED

TTP224'ü Arduino'ya bağlamak için güç ve toprak bağlantısıyla başlayın. TTP224'ün VCC pinini Arduino'daki 5V pinine ve GND pinini Arduino'daki bir toprak pinine bağlayın. Ardından, TTP224'ün çıkış pinlerini Arduino dijital pinlerine bağlayın. Spesifik olarak, çıkış pin 1'i pin 2'ye, çıkış pin 2'yi pin 3'e, çıkış pin 3'ü pin 4'e ve çıkış pin 4'ü Arduino'daki pin 5'e bağlayın.

LED'ler için, her LED'in anotlarını (uzun pinler) sırasıyla Arduino pin 10, 11, 12 ve 13'e bağlayın. LED'lerin katotlarını (kısa pinler) akımı sınırlamak için bir direnç (tipik olarak 220Ω) üzerinden toprağa bağlayın. Bu kurulum, Arduino'nun TTP224'ten gelen dokunmatik girişe dayalı olarak her LED'i kontrol etmesini sağlayacaktır.

Kod Örnekleri ve Açıklama

Arduino kodu, LED'ler için çıkış pinlerini ve dokunmatik sensör için giriş pinlerini başlatır. Kod, bir düğmeye basılıp basılmadığını kontrol etmek için basit koşullar kullanır ve ardından ilgili LED'i yakar ve seri monitöre bir mesaj yazdırır.

int LD = 200; // Döngü Gecikmesi. Değiştirmeyin.

void setup() {
    Serial.begin(9600);
    pinMode(10, OUTPUT);// Düğme 1 için LED
    pinMode(11, OUTPUT);// Düğme 2 için LED
    pinMode(12, OUTPUT);// Düğme 3 için LED
    pinMode(13, OUTPUT);// Düğme 4 için LED            
    pinMode(2, INPUT);// Düğme 1 giriş pini 2  
    pinMode(3, INPUT);// Düğme 2 giriş pini 3  
}

Bu alıntıda, döngü gecikmesini kontrol etmek için LD değişkeni tanımlanır. setup() işlevi seri iletişimi başlatır ve ilgili pinleri giriş veya çıkış olarak ayarlar.

void loop() {
    if(digitalRead(2)){
        Serial.println("Düğme 1'e Dokunuldu "); 
        digitalWrite(10, HIGH); // LED'i YAK     
        delay(LD); 
    }else{
        digitalWrite(10, LOW);// LED'i KAPAT
    }
}

Bu kod parçası, Arduino'nun düğme 1'e bağlı giriş pininin durumunu nasıl kontrol ettiğini gösterir. Düğmeye dokunulursa, bir mesaj yazdırır ve ilgili LED'i yakar. Aynı mantık tam kodda diğer düğmeler için de tekrarlanır.

Gösterim / Ne Beklemeli

Programı çalıştırdığınızda, TTP224 üzerindeki her düğmeye dokunmak ilgili LED'i yakacak ve seri monitörde bir mesaj görüntüleyecektir. Sorunları önlemek için bağlantılarınızın doğru olduğundan emin olun. Aynı anda birden fazla düğmeye dokunursanız beklenmeyen davranışlar görebilirsiniz, bu yüzden buna dikkat edin (videoda 5:15'te).

Video Zaman Damgaları

  • 00:00 - TTP224'e Giriş
  • 02:30 - Bağlantı kurulumu
  • 04:15 - Kod açıklaması
  • 05:15 - Projenin gösterimi

Görseller

TTP224 touch module
TTP224 touch module
Wring TTP224 Touch 4 Channel with 4 LED
Wring TTP224 Touch 4 Channel with 4 LED
19-TTP224 4-Channel Capacitive Touch Arduino Basic 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 ON when keys 1 to 4 are pressed respectively.
 * Pressing button 1 turns pin 10 ON.
 * Pressing button 2 turns pin 11 ON.
 * Pressing button 3 turns pin 12 ON.
 * Pressing button 4 turns pin 13 ON.
 * 
 * Written by Ahmad Shamshiri for Robojax Video
 * Date: December 2, 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, HIGH); // Turn the LED ON     
      delay(LD); 
    }else{
      digitalWrite(10, LOW);// Turn OFF the LED
    }

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

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

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

}// loop

Kaynaklar ve referanslar

Henüz kaynak yok.

Dosyalar📁

Veri Sayfası (pdf)

Diğer dosyalar