Tafuta Msimbo

Kigundua TTP224 cha Njia 4 cha Kuhisi Mguso ili Kuwasha/Mzima Mizigo ya AC/DC kwa Relay

Kigundua TTP224 cha Njia 4 cha Kuhisi Mguso ili Kuwasha/Mzima Mizigo ya AC/DC kwa Relay

Moduli ya kugusa ya capacitive TTP224 ni kijenzi chenye matumizi mengi kinachowaruhusu watumiaji kudhibiti mizigo ya AC na DC (kama vile taa, feni, motor) kupitia viingizo vya kugusa. Katika mafunzo haya, tutaonyesha jinsi ya kuunganisha TTP224 kwenye Arduino ili kuendesha relay, ambayo inaweza kuwasha au kuzima taa zako au vifaa vingine kwa kugusa tu. Kufikia mwisho wa mwongozo huu, utakuwa na mfumo kamili wa udhibiti unaoitikia kugusa kwa vifaa vyako vya umeme. Kwa mwongozo wa kuona, hakikisha umeangalia video (katika video saa 00:00).
TTP224 touch module

Vifaa Vinavyoelezwa

Vipengele vikuu vinavyotumika katika mradi huu ni pamoja na moduli ya kugusa ya capacitive TTP224, bodi ya Arduino, na moduli ya relay. Moduli ya TTP224 hutambua kugusa kupitia hisia ya capacitive, ikimaanisha inaweza kurekodi kugusa kwa kupima mabadiliko ya capacitance wakati kidole kinapowekwa karibu na pedi zake. Moduli hii ina matokeo manne yanayolingana na viingizo vinne tofauti vya kugusa, kukuruhusu kudhibiti vifaa vingi. Moduli ya relay hufanya kama swichi inayoweza kudhibiti mizigo ya juu ya voltage ya AC kwa usalama. Relay inayotumika katika mafunzo haya ina kiwango cha chini cha trigger, ikimaanisha wakati ishara kwenye ingizo la moduli ya relay iko LOW, relay inawasha na wakati ishara iko HIGH, relay inazima. Wakati relay inapowashwa, inaunganisha terminal ya kawaida na terminal ya kawaida ya wazi (normally open), ikiruhusu mkondo wa umeme kutiririka kwenye kifaa kilichounganishwa. Relay inadhibitiwa na Arduino, ambayo inasoma matokeo kutoka TTP224 na kuwasha relay ipasavyo.

Maelezo ya Datasheet

MtengenezajiVishay
Nambari ya sehemuTTP224
Voltage ya Logic/IO2.2 – 5.5 V
Mkondo wa matokeo (kwa kila channel)10 mA (kiwango cha juu)
Viwango vya mantiki ya ingizo0.3 V (chini), 0.7 V (juu)
Kifurushi16-pin DIP
Vidokezo / lahajaChannels nne za kugusa

  • Hakikisha moduli ina nguvu ndani ya 2.2 – 5.5 V kwa uendeshaji sahihi.
  • Fuatilia mkondo wa matokeo ili kuepuka kuzidi 10 mA kwa kila channel.
  • Tumia capacitors za decoupling karibu na moduli kuchuja kelele za usambazaji wa nguvu.
  • Weka wiring fupi ili kupunguza usumbufu na kuboresha ubora wa ishara.
  • Tumia resistors za pull-down kwenye pini za ingizo ikiwa hautumii Arduino kwa udhibiti.

Maelekezo ya Wiring

Arduino wiring for  TTP224 Touch with 4 Channel relay
Arduino wiring for TTP224 Touch with 4 Channel relay
Ili kuunganisha moduli ya kugusa TTP224 na relay kwenye Arduino, anza kwa kuunganisha nguvu. Unganisha pini ya VCC ya TTP224 kwenye pato la 5V la Arduino, na unganisha pini ya GND kwenye ardhi ya Arduino. Ifuatayo, unganisha pini nne za matokeo za TTP224 (zinazoitwa OUT1, OUT2, OUT3, OUT4) kwenye pini za digital kwenye Arduino. Kwa mfano, unganisha OUT1 kwenye pini 2, OUT2 kwenye pini 3, OUT3 kwenye pini 4, na OUT4 kwenye pini 5. Kwa relay, unganisha pini yake ya VCC kwenye pato la 5V la Arduino na pini ya GND kwenye ardhi. Pini ya udhibiti wa relay inapaswa kuunganishwa kwenye pini 10 kwenye Arduino. Hakikisha kwamba moja ya terminal za kawaida za relay imeunganishwa kwenye mzigo wa AC au DC, wakati terminal ya kawaida ya wazi (NO) inaunganisha kwenye chanzo cha nguvu. Ikiwa unataka relay iwashe wakati kugusa kunapogunduliwa, utaiunganisha kwenye terminal ya kawaida na terminal ya NO itaunganisha kwenye mzigo.

Mifano ya Code na Maelezo

Code ya Arduino huanza kwa kusanidi pini za matokeo kwa relay na pini za ingizo kwa sensor za kugusa. Code huanzisha mawasiliano ya serial kwa ajili ya debugging pia.
void setup() {
    Serial.begin(9600);
    pinMode(10, OUTPUT); // LED kwa button 1
    pinMode(11, OUTPUT); // LED kwa button 2
    pinMode(12, OUTPUT); // LED kwa button 3
    pinMode(13, OUTPUT); // LED kwa button 4            
    pinMode(2, INPUT); // Button 1 ingizo pini 2  
    pinMode(3, INPUT); // Button 2 ingizo pini 3  
    pinMode(4, INPUT); // Button 3 ingizo pini 4  
    pinMode(5, INPUT); // Button 4 ingizo pini 5              
}
Kazi hii ya setup inasanidi pini za sensor za kugusa na matokeo ya relay. Inaanzisha monitor ya serial kufuatilia mibonyezo ya button. Kazi ya loop inaendelea kuangalia hali ya kila sensor ya kugusa. Wakati button inapobonyezwa, inawasha matokeo yanayolingana ya relay na kuchapisha ujumbe kwenye monitor ya serial.
void loop() {
    if(digitalRead(2)){
      Serial.println("Button 1 Imeguswa "); 
      digitalWrite(10, LOW); // Washa LED     
    } else {
      digitalWrite(10, HIGH); // Zima LED
    }
    // Uhakiki sawa kwa buttons 2, 3, na 4...
}
Loop hii inasoma hali ya kila button na kuwasha pini inayolingana ya relay. Ikiwa button 1 imebonyezwa, ujumbe "Button 1 Imeguswa" unachapishwa, na relay iliyounganishwa kwenye pini 10 inawashwa. Hatimaye, ili kubadilisha muda ambao relay inakaa imewashwa, unaweza kubadilisha thamani ya delay kwenye code kwa urahisi. Hii inaruhusu kubadilika zaidi katika jinsi unavyodhibiti vifaa vyako.

Maonyesho / Nini cha Kutarajia

Wakati imewashwa, mfumo utakuruhusu kudhibiti mzigo uliounganishwa kwa kugusa pedi husika kwenye TTP224. Kwa mfano, kugusa pedi ya kwanza kutawasha relay iliyounganishwa kwenye pini 10, ambayo inaweza kuwasha taa yako 💡. Ikiwa utaacha kugusa, taa 💡 itazima (katika video saa 03:00). Kuwa makini kuhusu wiring; hakikisha relay imeunganishwa kwa usahihi ili kuzuia short circuits au uharibifu wa vifaa vyako. Ikiwa relay haiwashi kama inavyotarajiwa, angalia miunganisho yote na uhakikishe kwamba code ya Arduino inalingana na usanidi wa pini uliokusudiwa.

Vidokezo vya Muda wa Video

  • 00:00 - Utangulizi
  • 01:30 - Usanidi wa Vifaa
  • 03:00 - Muhtasari wa Code
  • 04:30 - Maonyesho
4 Channel 5V relay module - top view

Bilder

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
Språk: 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

Resurser och referenser

Inga resurser än.

Filer📁

Datablad (pdf)

Fritzing-fil

Andra filer