TTP224 4-канален капацитивен допир Arduino основен код
Овој туторијал ќе ве води низ користењето на TTP224 4-канален капацитивен сензор за допир со Arduino. TTP224 ви овозможува да креирате едноставен интерфејс за допир кој може да запали LED диоди врз основа на тоа кое копче е притиснато. До крајот на овој проект, ќе имате функционален систем каде допирањето на секое од четирите копчиња ќе ја вклучи соодветната LED диода и ќе прикаже пораки на серискиот монитор.

Во оваа поставка, кога ќе се притисне копче, соодветниот излезен пин на Arduino ќе се активира, вклучувајќи LED диода. Исто така ќе видите порака на серискиот монитор која означува кое копче е допрено. Овој проект е идеален за почетници кои сакаат да научат за капацитивната технологија на допир и основно Arduino програмирање. За повеќе детали, задолжително погледнете го видеото на 2:30.
Објаснување на хардверот
Главната компонента на овој проект е TTP224 капацитивниот сензор за допир. Тој има четири копчиња чувствителни на допир, овозможувајќи едноставна интеракција без механички прекинувачи. Кога ќе се допре копче, сензорот испраќа висок сигнал на соодветниот излезен пин. Ова го прави лесно поврзувањето со други уреди како LED диоди или релеи.
Покрај TTP224, ќе ви треба Arduino плоча за обработка на влезот од допир и контрола на LED диодите. Arduino ги чита излезните пинови на сензорот и ги активира LED диодите соодветно. Оваа поставка може да се прошири и за посложени апликации, како контрола на реле или креирање систем за безбедносна брава.
Детали од табелата со податоци
| Производител | TonTouch |
|---|---|
| Број на дел | TTP224 |
| Логички/IO напон | 2.5–5.5 V |
| Излезна струја (по канал) | 10 mA макс. |
| Врвна струја (по канал) | 20 mA макс. |
| Време на одговор | 10 ms (тип.) |
| Пакет | 8-DIP |
- Осигурете се дека напојувањето е стабилно во наведениот опсег.
- Користете отпорници за повлекување надолу ако е потребно за да спречите лебдечки состојби.
- Чувајте го сензорот подалеку од извори на пречки како силни електромагнетни полиња.
- Размислете за користење на одложување за дебаунсирање за да спречите лажни активирања.
- Тестирајте ја чувствителноста на допир и прилагодете ја околината за оптимални перформанси.
Инструкции за жици

За да го поврзете TTP224 со Arduino, започнете со поврзување на напојувањето и заземјувањето. Поврзете го VCC пинот на TTP224 со 5V пинот на Arduino, а GND пинот со пин за заземјување на Arduino. Следно, поврзете ги излезните пинови на TTP224 со дигиталните пинови на Arduino. Поточно, поврзете го излезниот пин 1 со пин 2, излезниот пин 2 со пин 3, излезниот пин 3 со пин 4 и излезниот пин 4 со пин 5 на Arduino.
За LED диодите, поврзете ги анодите (подолгите пинови) на секоја LED диода со Arduino пиновите 10, 11, 12 и 13 соодветно. Поврзете ги катодите (пократките пинови) на LED диодите со заземјување преку отпорник (обично 220Ω) за да ја ограничите струјата. Оваа поставка ќе му овозможи на Arduino да ја контролира секоја LED диода врз основа на влезот од допир од TTP224.
Примери на код и објаснување
Arduino кодот ги иницијализира излезните пинови за LED диодите и влезните пинови за сензорот за допир. Кодот користи едноставни условни изрази за да провери дали копче е притиснато и потоа ја вклучува соодветната LED диода додека печати порака на серискиот монитор.
int LD = 200; // Одложување на јамката. Не менувајте.
void setup() {
Serial.begin(9600);
pinMode(10, OUTPUT);// LED за копче 1
pinMode(11, OUTPUT);// LED за копче 2
pinMode(12, OUTPUT);// LED за копче 3
pinMode(13, OUTPUT);// LED за копче 4
pinMode(2, INPUT);// Влезен пин за копче 1 - пин 2
pinMode(3, INPUT);// Влезен пин за копче 2 - пин 3
}
Во овој извадок, променливата LD е дефинирана за контрола на одложувањето на јамката. Функцијата setup() ја иницијализира сериската комуникација и ги поставува соодветните пинови како влезови или излези.
void loop() {
if(digitalRead(2)){
Serial.println("Копче 1 е допрено ");
digitalWrite(10, HIGH); // Вклучи ја LED диодата
delay(LD);
}else{
digitalWrite(10, LOW);// Исклучи ја LED диодата
}
}
Овој дел од кодот покажува како Arduino ја проверува состојбата на влезниот пин поврзан со копче 1. Ако копчето е допрено, печати порака и ја вклучува соодветната LED диода. Истата логика се повторува за другите копчиња во целосниот код.
Демонстрација / Што да очекувате
Кога ќе ја стартувате програмата, допирањето на секое копче на TTP224 ќе ја запали соодветната LED диода и ќе прикаже порака на серискиот монитор. Осигурете се дека жиците се правилно поврзани за да избегнете проблеми. Ако допирате повеќе копчиња истовремено, може да видите неочекувано однесување, па бидете внимателни (во видеото на 5:15).
Временски ознаки на видеото
- 00:00 - Вовед во TTP224
- 02:30 - Поставување на жици
- 04:15 - Објаснување на кодот
- 05:15 - Демонстрација на проектот
/*
* 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
Ресурси и референци
Сè уште нема ресурси.
Датотеки📁
Технички лист (pdf)
-
TTP224 datasheet by Taiwan Semiconductor (TONTEK)
TTP224_datasheet.pdf0.29 MB
Други датотеки
-
TTP224 User Manual
robojax-TTP224_manual.pdf0.17 MB -
TTP224 Fritzing Arduino Фајл
TTP224.fzz0.01 MB