Uvod u TTP223 kapacitivni dodirni modul za Arduino
U ovom tutorijalu istražićemo TTP223 kapacitivni dodirni modul i kako ga možemo integrisati sa Arduinom da bismo napravili prekidač osetljiv na dodir. TTP223 je jednostavan i efikasan modul koji vam omogućava da uključite ili isključite uređaje kao što su releji ili svetla samo jednim dodirom. Ovaj projekat će pokazati kako povezati modul i napisati osnovni Arduino program za čitanje dodirnih ulaza i kontrolu izlaznog uređaja.Kod i ožičenje za ovaj projekat biće objašnjeni u detalje kako biste mogli lako replicirati postavku. Za vizualne učenike, preporučujem gledanje pratećeg video tutorijala za pojašnjenje postavke i procesa kodiranja (u videu u 03:15).
Objašnjena oprema
TTP223 kapacitivni dodirni modul je kompaktan i jednostavan za korištenje uređaj koji detektuje dodirne ulaze putem kapacitivnog senzora. Ima jedan izlazni pin koji se aktivira kada se detektuje dodir, što ga čini idealnim za aplikacije gdje želite kontrolisati elektroniku jednostavnim dodirom. Modul radi na naponskom naponu od 2.0 do 5.5 volti, što ga čini kompatibilnim sa većinom Arduino ploča. Modul obično ima nekoliko pinova: VCC za napajanje, GND za uzemljenje, i izlazni pin koji šalje signal kada se detektuje dodir. Ovaj izlazni pin može biti povezan na digitalni ulazni pin na Arduinu, omogućavajući vam da lako pročitate status dodira. TTP223 modul je posebno koristan u projektima gdje fizički prekidač nije poželjan.
Tehnički podaci
| Proizvođač | Seeed Studio |
|---|---|
| Broj dijela | TTP223 |
| Logika/IO napon | 2.0 - 5.5 V |
| Napon napajanja | 2.0 - 5.5 V |
| Izlazna struja | 20 mA max |
| Vršna struja | 30 mA |
| Radna temperatura | -40 do 85 °C |
| Pakovanje | TO-220 |
- Osigurajte pravilno napajanje naponom (2.0 - 5.5 V) kako biste izbjegli oštećenje modula.
- Izlazna pin može biti povezana na bilo koji digitalni pin na Arduinu.
- Povežite GND pin sa uzemljenjem Arduina.
- Držite modul dalje od izvora električne buke kako biste izbjegli lažno aktiviranje.
- Koristite pull-up otpornike ako je potrebno za stabilna očitanja.
Uputstva za povezivanje
Da biste povezali TTP223 kapacitivni dodirni modul sa vašim Arduinom, počnite povezivanjem VCC pina na modulu sa 5V pinom na Arduinu. Zatim povežite GND pin na modulu sa jednim od GND pinova na Arduinu. Izlazni pin TTP223, koji šalje signal dodira, treba biti povezan sa digitalnim pinom na Arduinu, na primjer, pinom 2. Ako koristite relej sa dodirnim modulom, povežite kontrolni pin releja sa drugim digitalnim pinom, kao što je pin 8. Osigurajte da je napajanje releja ispravno povezano, prema njegovim specifikacijama. Ako koristite više dodirnih modula, možete povezati dodatne izlazne pinove sa drugim digitalnim pinovima na Arduinu i ponoviti proces povezivanja u skladu s tim.
Primjeri koda i vodič
Sljedeći kodni isječak inicijalizira pinove i postavlja serijsku komunikaciju. VarijablatouchPinje povezan s izlazom TTP223 modula, dokrelayPinkontrolira rele.
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);
}
Ovaj kod inicijalizuje modul za dodir i relej pin, pripremajući ih za upotrebu u funkciji petlje.Serial.begin(9600)komanda postavlja brzinu prijenosa za serijsku komunikaciju, omogućavajući vam da pratite status dodira putem Serijskog Monitor.
U petlji, program provjerava status dodirnog ulaza i prebacuje relej u skladu s tim. Ako se dodir otkrije, ispisuje "Dodirnuto" na Serijskom Monitoru i uključuje relej.
void loop() {
val = digitalRead(touchPin);
if(val == 1) {
Serial.println("Touched");
digitalWrite(relayPin, LOW); // turn relay ON
}
delay(100);
}
Ovaj izvod pokazuje kako se dodirni unos čita i obrađuje.digitalRead(touchPin)funkcija provjerava je li dodir otkriven. Ako jest, relej se aktivira postavljanjemrelayPinna NISKO.
Demonstracija / Šta očekivati
Kada pokrenete kod i dodirnete TTP223 modul, trebali biste vidjeti "Dodirnuto" ispisano u Serijskom Monitoru, što ukazuje da je dodir otkriven. Relej povezan sarelayPintakođer će se aktivirati, omogućavajući vam da kontrolišete bilo koji uređaj povezan s njim. Budite pažljivi na efekat odbijanja; ako prebrzo dodirnete senzor, može registrovati više dodira.
Za složeniju postavku, možete dodati više TTP223 modula za kontrolu različitih uređaja. Svaki modul može biti povezan na poseban ulazni pin i upravljan u istoj petlji funkcije, omogućavajući svestranu kontrolu više izlaza (u videu u 10:45).
Video vremenski oznaci
- 00:00- Uvod u TTP223 modul
- 03:15- Uputstva za ožičenje
- 05:30- Prolazak kroz kod
- 10:45- Demonstracija Touch Modula
/*
* 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