Search Code

Вовед во TTP223 капацитивниот модул за допир за Arduino

Вовед во TTP223 капацитивниот модул за допир за Arduino

Во ова упатство, ќе го истражиме TTP223 капацитивниот модул за допир и како може да се интегрира со Arduino за да се создаде прекинувач чувствителен на допир. TTP223 е едноставен и ефективен модул кој ви овозможува да вклучите или исклучите уреди како релеа или светла со само еден допир. Овој проект ќе демонстрира како да се поврзе модулот и да се напише основна Arduino програма за читање на допирни влезови и контрола на излезен уред.Кодот и жиците за овој проект ќе бидат објаснети во детали за да можете лесно да ја реплицирате поставката. За визуелните учесници, препорачувам да го гледате поврзаниот видео туторијал за појаснување на поставката и процесот на кодирање (во видеото на 03:15).

Објаснување на хардверот

Модулот за капацитивно допир TTP223 е компактен и лесен за употреба уред кој детектира допирни влезови преку капацитивно чувствување. Има еден излезен пин кој се активира кога ќе се детектира допир, што го прави идеален за апликации каде што сакате да контролирате електроника со едноставен допир. Модулот работи на напон на напојување од 2.0 до 5.5 волти, што го прави компатибилен со повеќето Arduino плочи. Модулот обично има неколку пинови: VCC за напојување, GND за земја и излезен пин кој испраќа сигнал кога ќе се детектира допир. Овој излезен пин може да се поврзе со дигитален влезен пин на Arduino, што ви овозможува лесно да го прочитате статусот на допирот. Модулот TTP223 е особено корисен во проекти каде што физички прекинувач не е посакуван.

Технички лист детали

ПроизводителSeeed Studio
Број на деловиTTP223
Логика/IO напон2.0 - 5.5 V
Напон на напојување2.0 - 5.5 V
Излезна струја20 mA макс
Пиков тековен30 mA
Работна температура-40 до 85 °C
ПакетТО-220

  • Осигурајте соодветно напонско напојување (2.0 - 5.5 V) за да избегнете оштетување на модулот.
  • Излезниот пин може да биде поврзан со кој било дигитален пин на Ардуино.
  • Поврзете го GND пинот со земјата на Arduino.
  • Држете го модулот подалеку од извори на електричен шум за да избегнете лажно активирање.
  • Користете отпорници за повлекување ако е потребно за стабилни мерења.

Инструкции за поврзување

За да го поврзете TTP223 капацитивниот модул за допир со вашиот Arduino, започнете со поврзување на VCC пинот на модулот со 5V пинот на Arduino. Потоа, поврзете го GND пинот на модулот со еден од GND пиновите на Arduino. Излезниот пин на TTP223, кој испраќа сигнал за допир, треба да биде поврзан со дигитален пин на Arduino, на пример, пин 2. Ако користите реле со модулот за допир, поврзете го контролниот пин на релето со друг дигитален пин, како што е пин 8. Осигурајте се дека напојувањето на релето е правилно поврзано, согласно неговите спецификации. Ако користите повеќе модули за допир, можете да поврзете дополнителни излезни пинови со други дигитални пинови на Arduino и да го повторите процесот на поврзување соодветно.

Примери на код и водич

Следниот коден фрагмент ги иницира пиновите и ја поставува серијалната комуникација. ПроменливатаtouchPinе поврзан со излезот на модулот TTP223, додекаrelayPinконтролира реле.


int touchPin = 2; // connect output from TTP223 to this
int relayPin = 8; // Connected to relay

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

Овој код ја иницира модулата за допир и пинот за реле, подготвувајќи ги за употреба во функцијата за циклус.Serial.begin(9600)командата ја поставува брзината на преносот за серијална комуникација, овозможувајќи ви да го следите статусот на допирот преку Серијалниот Монитор. Во циклусот, програмата ја проверува состојбата на допирниот влез и соодветно го префрла релејот. Ако допирот е детектиран, печати "Допрен" на Серијалниот Монитор и го вклучува релејот.


void loop() {
  val = digitalRead(touchPin); 
  if(val == 1) {
    Serial.println("Touched");
    digitalWrite(relayPin, LOW); // turn relay ON
  }
  delay(100);
}

Овој извадок демонстрира како се чита и обработува допирниот влез.digitalRead(touchPin)функцијата проверува дали допирот е детектиран. Ако е, релејот се активира со поставувањеrelayPinна НИСКО.

Демонстрација / Што да очекувате

Кога ќе го извршите кодот и ќе го допрете модулот TTP223, треба да видите "Допрено" испечатено во Серискиот Монитор, што укажува дека допирот е детектиран. Релејот поврзан соrelayPinќе се активира, овозможувајќи ви да контролирате било кој уред поврзан со него. Внимавајте на ефектот на дебаунс; ако го допрете сензорот премногу брзо, може да регистрира повеќе допири. За покомплексна конфигурација, можете да додадете повеќе TTP223 модули за контрола на различни уреди. Секој модул може да биде поврзан на посебен влезен пин и управуван во истата функција на циклусот, овозможувајќи разновидна контрола на повеќе излези (во видеото на 10:45).

Видеозаписи

  • 00:00- Вовед во модулот TTP223
  • 03:15- Упатства за поврзување
  • 05:30- Преглед на кодот
  • 10:45- Демонстрација на Тач Модулот
8-The source code for the TTP223 touch module for Arduino
Language: C++
/*
 * This is the Arduino code for a TTP223 Touch module switch.
 * By touching the module, the pin 8 sends a signal to turn the relay or switch ON.
 * 
 * Written by Ahmad S. for Robojax.com 
 * Date: April 1, 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 touchPin = 2;// connect output from TTP223 to this
int val = 0; 
int relayPin = 8;// 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();
}
9-The source code for the TTP223 touch module for Arduino for a two-touch module
Language: C++
/*
 * This is the Arduino code for a TTP223 touch module switch.
 * By touching the module, the pin 8 is sending a signal to turn the relay or switch ON.
 * 
 * Written by Ahmad S. for Robojax.com 
 * Date: April 1, 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.
 * 
 */

 // 1st channel
int touchPin1 = 2;// connect output from TTP223 to this
int val = 0; 
int relayPin = 8;// Connected to relay

 // 2nd channel
int touchPin2 = 3;// connect output from TTP223 to this
int val2 = 0; 
int relayPin2 = 9;// Connected to relay

void setup() {
 Serial.begin(9600);
 pinMode(touchPin, INPUT); // input from touch
 pinMode(relayPin, OUTPUT);// output to relay
 
  pinMode(touchPin2, INPUT); // input from touch (2)
 pinMode(relayPin2, OUTPUT);// output to relay (2)

}

void loop() {
 // start of channel 1 code 
  digitalWrite(relayPin, HIGH);// set the relay to HIGH (if your relay is low-trigger. If not, remove this line)
  val = digitalRead(touchPin); // read channel 1 touch module value
  if(val ==1){
  Serial.println("Channel 1 Touched");
  digitalWrite(relayPin, LOW);// turn relay (of switch) 1 ON
  }
  delay(100);
  Serial.println();
   // end of channel 1 code 
  
 // start of channel 2 code   
  digitalWrite(relayPin2, HIGH);// set the relay to HIGH (if your relay is low-trigger. If not, remove this line)
  val2 = digitalRead(touchPin2); // read channel 2 touch module value
  if(val2 ==1){
  Serial.println("Channel 2 Touched");
  digitalWrite(relayPin2, LOW);// turn relay (of switch) 2 ON
  }
  delay(100);
  Serial.println();
  // end of channel 2 code 
}

Resources & references

No resources yet.

Files📁

Other files