Inleiding tot die TTP223 Kapasitiewe Aanraamodule vir Arduino
In hierdie tutoriaal sal ons die TTP223 kapasitatiewe aanrakingsmodule verken en hoe dit geïntegreer kan word met 'n Arduino om 'n aanrakingssensitiewe skakelaar te skep. Die TTP223 is 'n eenvoudige en effektiewe module wat jou toelaat om toestelle soos relais of ligte met net 'n aanraking aan of af te skakel. Hierdie projek sal demonstreer hoe om die module aan te sluit en 'n basiese Arduino-program te skryf om aanrakingsinsette te lees en 'n uitvoertoestel te beheer.Die kode en bedrading vir hierdie projek sal in detail verduidelik word sodat jy die opstelling maklik kan herhaal. Vir visuele leerders beveel ek aan om die verwante video-tutoriaal te kyk vir verduideliking oor die opstelling en kodering proses (in video om 03:15).
Hardeware verduidelik
Die TTP223 kapasitatiewe aanraakmodule is 'n kompakte en maklik-om-te-gebruik toestel wat aanraakinvoere deur middel van kapasitatiewe sensoring opspoor. Dit het 'n enkele uitsetpen wat hoog gaan wanneer die aanraak opgespoor word, wat dit ideaal maak vir toepassings waar jy elektronika met 'n eenvoudige aanraking wil beheer. Die module werk met 'n toevoer spanning van 2.0 tot 5.5 volt, wat dit versoenbaar maak met die meeste Arduino-borde. Die module het tipies 'n paar penne: VCC vir krag, GND vir grond, en die uitsetpen wat 'n sein stuur wanneer 'n aanraak opgespoor word. Hierdie uitsetpen kan aan 'n digitale invoerpen op die Arduino gekoppel word, wat jou toelaat om die aanraakstatus maklik te lees. Die TTP223 module is veral nuttig in projekte waar 'n fisiese skakelaar nie wenslik is nie.
Datasheet Besonderhede
| Fabrikant | Seeed Studio |
|---|---|
| Onderdeel nommer | TTP223 |
| Logika/IO spanning | 2.0 - 5.5 V |
| Voorsienings spanning | 2.0 - 5.5 V |
| Uitsetstroom | 20 mA maks |
| Piekstroom | 30 mA |
| Bedryfstemperatuur | -40 tot 85 °C |
| Pakket | TO-220 |
- Verseker die behoorlike spanningsto supply (2.0 - 5.5 V) om skade aan die module te voorkom.
- Die uitgangspen kan aan enige digitale pen op die Arduino gekoppel word.
- Koppel die GND-pin aan die Arduino grond.
- Hou die module weg van bronne van elektriese geraas om vals aktivering te vermy.
- Gebruik trek-op weerstande indien nodig vir stabiele lesings.
Draadinstruksies
Om die TTP223 kapasitatiewe aanrakingsmodule aan jou Arduino te koppel, begin deur die VCC-pin op die module aan die 5V-pin op die Arduino te koppel. Koppel dan die GND-pin op die module aan een van die GND-pinne op die Arduino. Die uitgangspin van die TTP223, wat die aanrakingsignaal stuur, moet aan 'n digitale pin op die Arduino gekoppel word, byvoorbeeld pin 2. As jy 'n relais met die aanrakingsmodule gebruik, koppel die relaisbeheerpunt aan 'n ander digitale pin, soos pin 8. Verseker dat die relais se kragbron korrek gekoppel is, volgens sy spesifikasies. As jy verskeie aanrakingsmodules gebruik, kan jy addisionele uitgangspinne aan ander digitale pinne op die Arduino koppel en die bedradingproses dienooreenkomstig herhaal.
Kode Voorbeelde & Staproete
Die volgende kode-snippet inisialiseer die penne en stel die seriële kommunikasie op. Die veranderliketouchPinis gekoppel aan die uitgang van die TTP223-module, terwylrelayPinbeheer die relais.
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);
}
Hierdie kode inisieer die aanraakmodule en relaispen, en berei hulle voor vir gebruik in die lusfunksie.Serial.begin(9600)die opdrag stel die baud koers vir seriële kommunikasie in, wat jou toelaat om die aanraakstatus via die Seriële Monitor te monitor.
In die lus kontroleer die program die status van die aanraakinvoer en skakel die relais ooreenkomstig. As die aanraak gedetecteer word, druk dit "Aangeraak" na die Seriële Monitor en draai die relais aan.
void loop() {
val = digitalRead(touchPin);
if(val == 1) {
Serial.println("Touched");
digitalWrite(relayPin, LOW); // turn relay ON
}
delay(100);
}
Hierdie uittreksel demonstreer hoe die aanraakinvoer gelees en verwerk word. DiedigitalRead(touchPin)funksie kontroleer of die aanraking gedetecteer is. As dit is, word die relais geaktiveer deur te stelrelayPinna LAAG.
Demonstraie / Wat om te verwag
Wanneer jy die kode uitvoer en die TTP223-module aanraak, behoort jy "Aangeraak" in die Serial Monitor te sien, wat aandui dat die aanraking opgespoor is. Die relais wat aanrelayPinsal ook aktiveer, wat jou toelaat om enige toestel wat daaraan gekoppel is, te beheer. Wees versigtig vir die debounce-effek; as jy die sensor te vinnig aanraak, kan dit verskeie aanrakings registreer.
Vir 'n meer komplekse opstelling kan jy verskeie TTP223-modules byvoeg om verskillende toestelle te beheer. Elke module kan aan 'n aparte invoerpen gekoppel word en in dieselfde lusfunksie bestuur word, wat veelsydige beheer van verskeie uitsette moontlik maak (in video om 10:45).
Video Tydmerke
- 00:00- Inleiding tot die TTP223-module
- 03:15- Bedrading Instruksies
- 05:30- Kode Staproete
- 10:45- Demonstrasie van die Aanraamodule
/*
* 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
}
Hulpbronne en verwysings
Geen hulpbronne nog.
Lêers📁
Ander lêers
-
TP223 Datasheet
robojax-0492_TTP223_Datasheet.pdf0.24 MB