Вовед во 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- Демонстрација на Тач Модулот
/*
* 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();
}
/*
* 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
-
TP223 Datasheet
robojax-0492_TTP223_Datasheet.pdf0.24 MB