TTP224 4-kanałowy pojemnościowy dotykowy Arduino podstawowy kod
Ten samouczek przeprowadzi Cię przez korzystanie z 4-kanałowego czujnika dotykowego pojemnościowego TTP224 z Arduino. TTP224 pozwala stworzyć prosty interfejs dotykowy, który może zapalać diody LED w zależności od tego, który przycisk został naciśnięty. Po zakończeniu tego projektu będziesz mieć działający system, w którym dotknięcie każdego z czterech przycisków włączy odpowiednią diodę LED i wyświetli komunikaty na monitorze szeregowym.

W tej konfiguracji, gdy przycisk zostanie naciśnięty, odpowiedni pin wyjściowy na Arduino zostanie aktywowany, włączając diodę LED. Zobaczysz również komunikat na monitorze szeregowym informujący, który przycisk został dotknięty. Ten projekt jest idealny dla początkujących, którzy chcą poznać technologię dotyku pojemnościowego i podstawy programowania Arduino. Aby uzyskać więcej szczegółów, koniecznie obejrzyj wideo w czasie 2:30.
Wyjaśnienie Sprzętu
Głównym elementem tego projektu jest pojemnościowy czujnik dotyku TTP224. Posiada on cztery przyciski dotykowe, co umożliwia prostą interakcję bez mechanicznych przełączników. Gdy przycisk zostanie dotknięty, czujnik wysyła sygnał wysoki na odpowiednim pinie wyjściowym. Dzięki temu łatwo można go podłączyć do innych urządzeń, takich jak diody LED czy przekaźniki.
Oprócz TTP224 potrzebujesz płytki Arduino do przetwarzania sygnału dotykowego i sterowania diodami LED. Arduino odczytuje piny wyjściowe czujnika i odpowiednio włącza diody LED. Tę konfigurację można również rozszerzyć do bardziej złożonych zastosowań, takich jak sterowanie przekaźnikiem czy tworzenie systemu zamka zabezpieczającego.
Szczegóły z Karty Katalogowej
| Producent | TonTouch |
|---|---|
| Numer części | TTP224 |
| Napięcie logiczne/IO | 2,5–5,5 V |
| Prąd wyjściowy (na kanał) | maks. 10 mA |
| Prąd szczytowy (na kanał) | maks. 20 mA |
| Czas reakcji | 10 ms (typ.) |
| Obudowa | 8-DIP |
- Upewnij się, że zasilanie jest stabilne w określonym zakresie.
- W razie potrzeby użyj rezystorów podciągających do masy, aby zapobiec stanom pływającym.
- Trzymaj czujnik z dala od źródeł zakłóceń, takich jak silne pola elektromagnetyczne.
- Rozważ użycie opóźnienia antyodbiciowego, aby zapobiec fałszywym wyzwoleniom.
- Przetestuj czułość dotyku i dostosuj otoczenie dla optymalnej wydajności.
Instrukcje Podłączania

Aby podłączyć TTP224 do Arduino, zacznij od podłączenia zasilania i masy. Podłącz pin VCC układu TTP224 do pinu 5V na Arduino, a pin GND do pinu masy na Arduino. Następnie podłącz piny wyjściowe TTP224 do pinów cyfrowych Arduino. Dokładnie: podłącz pin wyjściowy 1 do pinu 2, pin wyjściowy 2 do pinu 3, pin wyjściowy 3 do pinu 4 i pin wyjściowy 4 do pinu 5 na Arduino.
Dla diod LED podłącz anody (dłuższe nóżki) każdej diody odpowiednio do pinów Arduino 10, 11, 12 i 13. Podłącz katody (krótsze nóżki) diod do masy przez rezystor (zwykle 220Ω), aby ograniczyć prąd. Ta konfiguracja pozwoli Arduino sterować każdą diodą LED na podstawie sygnału dotykowego z TTP224.
Przykłady Kodu i Omówienie
Kod Arduino inicjalizuje piny wyjściowe dla diod LED oraz piny wejściowe dla czujnika dotyku. Kod używa prostych warunków do sprawdzenia, czy przycisk został naciśnięty, a następnie włącza odpowiednią diodę LED, wyświetlając komunikat na monitorze szeregowym.
int LD = 200; // Opóźnienie pętli. Nie zmieniać.
void setup() {
Serial.begin(9600);
pinMode(10, OUTPUT);// LED dla przycisku 1
pinMode(11, OUTPUT);// LED dla przycisku 2
pinMode(12, OUTPUT);// LED dla przycisku 3
pinMode(13, OUTPUT);// LED dla przycisku 4
pinMode(2, INPUT);// Przycisk 1 pin wejściowy 2
pinMode(3, INPUT);// Przycisk 2 pin wejściowy 3
}
W tym fragmencie zmienna LD jest zdefiniowana do kontrolowania opóźnienia pętli. Funkcja setup() inicjalizuje komunikację szeregową i ustawia odpowiednie piny jako wejścia lub wyjścia.
void loop() {
if(digitalRead(2)){
Serial.println("Przycisk 1 dotknięty ");
digitalWrite(10, HIGH); // Włącz diodę LED
delay(LD);
}else{
digitalWrite(10, LOW);// Wyłącz diodę LED
}
}
Ten fragment kodu pokazuje, jak Arduino sprawdza stan pinu wejściowego podłączonego do przycisku 1. Jeśli przycisk zostanie dotknięty, wyświetla komunikat i włącza odpowiednią diodę LED. Ta sama logika jest powtarzana dla pozostałych przycisków w pełnym kodzie.
Demonstracja / Czego Się Spodziewać
Po uruchomieniu programu dotknięcie każdego przycisku na TTP224 spowoduje zapalenie odpowiedniej diody LED i wyświetlenie komunikatu na monitorze szeregowym. Upewnij się, że podłączenie jest prawidłowe, aby uniknąć problemów. Jeśli dotkniesz wielu przycisków jednocześnie, możesz zaobserwować nieoczekiwane zachowanie, więc bądź ostrożny (na wideo w czasie 5:15).
Znaczniki Czasowe Wideo
- 00:00 - Wprowadzenie do TTP224
- 02:30 - Konfiguracja podłączeń
- 04:15 - Omówienie kodu
- 05:15 - Demonstracja 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
Zasoby i odniesienia
Brak zasobów.
Pliki📁
Karta katalogowa (pdf)
-
TTP224 datasheet by Taiwan Semiconductor (TONTEK)
TTP224_datasheet.pdf0.29 MB
Inne pliki
-
Podręcznik użytkownika TTP224
robojax-TTP224_manual.pdf0.17 MB -
TTP224 Plik Fritzing Arduino
TTP224.fzz0.01 MB