TTP224 4-kanálový kapacitný dotykový Arduino základný kód
Tento návod vás prevedie používaním 4-kanálového kapacitného dotykového senzora TTP224 s Arduinom. TTP224 vám umožňuje vytvoriť jednoduché dotykové rozhranie, ktoré môže rozsvecovať LED diódy na základe toho, ktoré tlačidlo je stlačené. Na konci tohto projektu budete mať funkčný systém, kde dotyk každého zo štyroch tlačidiel zapne príslušnú LED diódu a zobrazí správy na sériovom monitore.

V tomto zapojení, keď je tlačidlo stlačené, príslušný výstupný pin na Arduine sa aktivuje a rozsvieti LED diódu. Na sériovom monitore tiež uvidíte správu, ktorá oznamuje, ktoré tlačidlo bolo dotknuté. Tento projekt je ideálny pre začiatočníkov, ktorí sa chcú naučiť technológiu kapacitného dotyku a základné programovanie Arduina. Pre viac podrobností si určite pozrite video v čase 2:30.
Vysvetlenie hardvéru
Hlavným komponentom tohto projektu je kapacitný dotykový senzor TTP224. Obsahuje štyri dotykové tlačidlá, čo umožňuje jednoduchú interakciu bez mechanických spínačov. Keď sa tlačidlo dotknete, senzor vyšle vysoký signál na príslušný výstupný pin. To uľahčuje pripojenie k iným zariadeniam, ako sú LED diódy alebo relé.
Okrem TTP224 budete potrebovať dosku Arduino na spracovanie dotykového vstupu a ovládanie LED diód. Arduino číta výstupné piny senzora a podľa toho aktivuje LED diódy. Toto zapojenie je možné rozšíriť aj na zložitejšie aplikácie, ako je ovládanie relé alebo vytvorenie bezpečnostného zámkového systému.
Podrobnosti z datasheetu
| Výrobca | TonTouch |
|---|---|
| Označenie súčiastky | TTP224 |
| Logické/IO napätie | 2,5–5,5 V |
| Výstupný prúd (na kanál) | max. 10 mA |
| Špičkový prúd (na kanál) | max. 20 mA |
| Čas odozvy | 10 ms (typ.) |
| Puzdro | 8-DIP |
- Zaistite, aby bol napájací zdroj stabilný v rámci špecifikovaného rozsahu.
- V prípade potreby použite pull-down rezistory, aby ste zabránili plávajúcim stavom.
- Udržujte senzor mimo zdrojov rušenia, ako sú silné elektromagnetické polia.
- Zvážte použitie oneskorenia na elimináciu zákmitov, aby ste zabránili falošným spusteniam.
- Otestujte citlivosť dotyku a upravte prostredie pre optimálny výkon.
Pokyny na zapojenie

Na zapojenie TTP224 k Arduinu začnite pripojením napájania a uzemnenia. Pripojte pin VCC z TTP224 na pin 5V na Arduine a pin GND na uzemňovací pin na Arduine. Ďalej pripojte výstupné piny TTP224 na digitálne piny Arduina. Konkrétne pripojte výstupný pin 1 na pin 2, výstupný pin 2 na pin 3, výstupný pin 3 na pin 4 a výstupný pin 4 na pin 5 na Arduine.
Pre LED diódy pripojte anódy (dlhšie piny) každej LED diódy na piny Arduina 10, 11, 12 a 13. Katódy (kratšie piny) LED diód pripojte na uzemnenie cez rezistor (typicky 220 Ω) na obmedzenie prúdu. Toto zapojenie umožní Arduinu ovládať každú LED diódu na základe dotykového vstupu z TTP224.
Príklady kódu a vysvetlenie
Kód Arduina inicializuje výstupné piny pre LED diódy a vstupné piny pre dotykový senzor. Kód používa jednoduché podmienky na kontrolu, či je tlačidlo stlačené, a potom zapne príslušnú LED diódu a vytlačí správu na sériový monitor.
int LD = 200; // Oneskorenie slučky. Nemeňte.
void setup() {
Serial.begin(9600);
pinMode(10, OUTPUT);// LED pre tlačidlo 1
pinMode(11, OUTPUT);// LED pre tlačidlo 2
pinMode(12, OUTPUT);// LED pre tlačidlo 3
pinMode(13, OUTPUT);// LED pre tlačidlo 4
pinMode(2, INPUT);// Vstupný pin tlačidla 1 - pin 2
pinMode(3, INPUT);// Vstupný pin tlačidla 2 - pin 3
}
V tomto úryvku je premenná LD definovaná na riadenie oneskorenia slučky. Funkcia setup() inicializuje sériovú komunikáciu a nastaví príslušné piny ako vstupy alebo výstupy.
void loop() {
if(digitalRead(2)){
Serial.println("Tlačidlo 1 dotknuté ");
digitalWrite(10, HIGH); // Zapne LED diódu
delay(LD);
}else{
digitalWrite(10, LOW);// Vypne LED diódu
}
}
Tento úryvok kódu ukazuje, ako Arduino kontroluje stav vstupného pinu pripojeného k tlačidlu 1. Ak je tlačidlo dotknuté, vytlačí správu a zapne príslušnú LED diódu. Rovnaká logika sa opakuje pre ostatné tlačidlá v plnom kóde.
Demonštrácia / Čo očakávať
Keď spustíte program, dotyk každého tlačidla na TTP224 rozsvieti príslušnú LED diódu a zobrazí správu na sériovom monitore. Uistite sa, že je vaše zapojenie správne, aby ste predišli problémom. Ak sa dotknete viacerých tlačidiel súčasne, môžete pozorovať neočakávané správanie, takže buďte opatrní (vo videu v čase 5:15).
Časové značky videa
- 00:00 - Úvod k TTP224
- 02:30 - Nastavenie zapojenia
- 04:15 - Vysvetlenie kódu
- 05:15 - Demonštrácia projektu
/*
* This is the Arduino code for TTP224 4-Channel Capacitive Touch switch.
* The output pins 10, 11, 12, and 13 will be ON when keys 1 to 4 are pressed respectively.
* Pressing button 1 turns pin 10 ON.
* Pressing button 2 turns pin 11 ON.
* Pressing button 3 turns pin 12 ON.
* Pressing button 4 turns pin 13 ON.
*
* Written by Ahmad Shamshiri for Robojax Video
* Date: December 2, 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, HIGH); // Turn the LED ON
delay(LD);
}else{
digitalWrite(10, LOW);// Turn OFF the LED
}
// button 2 action
if(digitalRead(3)){
Serial.println("Button 2 Touched ");
digitalWrite(11, HIGH); // Turn the LED ON
delay(LD);
}else{
digitalWrite(11, LOW);// Turn OFF the LED
}
// button 3 action
if(digitalRead(4)){
Serial.println("Button 3 Touched ");
digitalWrite(12, HIGH); // Turn the LED ON
delay(LD);
}else{
digitalWrite(12, LOW);// Turn OFF the LED
}
// button 4 action
if(digitalRead(5)){
Serial.println("Button 4 Touched ");
digitalWrite(13, HIGH); // Turn the LED ON
delay(LD);
}else{
digitalWrite(13, LOW);// Turn OFF the LED
}
}// loop
Zdroje a referencie
Zatiaľ žiadne zdroje.
Súbory📁
Datasheet (pdf)
-
TTP224 datasheet by Taiwan Semiconductor (TONTEK)
TTP224_datasheet.pdf0.29 MB
Iné súbory
-
TTP224 User Manual
robojax-TTP224_manual.pdf0.17 MB -
TTP224 Fritzing Arduino súbor
TTP224.fzz0.01 MB