Arduino dotyková klávesnice TTP224 je zajímavý modul, který obsahuje kompletní řešení jednoduchého dotykového ovládání. Na modulu se nachází čtyři tlačítka, čtyři LED diody indikující stisk tlačítek a dále obvod TTP224 a dodatečné součástky, které zajišťují spolehlivou detekci dotyku jednotlivých tlačítek. Díky použití zmíněného obvodu TTP224 má tato dotyková klávesnice integrovanou ochranu proti přepólování napájecího napětí a také nízkou spotřebu.

Dotyková klávesnice TTP224

Pro úspěšné propojení dotykové klávesnice s Arduinem je nutné použít šest propojovacích vodičů. Propojíme pin OUT1 s pinem D4, OUT2 s pinem D5, OUT3 s pinem D6, OUT4 s pinem D7, GND se zemí Arduina a VCC s napájecím napětím +5V taktéž na Arduino desce. Ze zmíněných pinů je možné zaměnit všechny OUT piny, přičemž je nutné změnu provést také na začátku programu.

Schéma zapojení dotykové klávesnice TTP224

Ukázkový kód pro dotykovou klávesnici TTP224 obsahuje na svém začátku vytvoření pole s propojovacími piny a vytvoření proměnné stisk pro uložení stavu tlačítka. V podprogramu setup() se nachází jako první inicializace komunikace po sériové lince a dále inicializace pole tlačítek, kdy pomocí funkce for jsou nastavena všechna tlačítka jako vstupní. Nekonečná smyčka loop() pak obsahuje funkci for, která postupně provede následující kód pro všechna čtyři tlačítka. Na začátku je vždy načten stav tlačítka aktuálního běhu (číslo x ve for smyčce) a pokud je pomocí funkce if detekován stisk (logická jednička), vytiskneme na sériovou linku informaci o stisknutém tlačítku a jeho číslu. K tomuto číslu je přičtena při tisku jednička, protože tlačítka v poli začínají od nuly, ale na modulu jsou číslována od jedničky. Poté už následuje jen volitelná pauza 500 milisekund a celý program se opakuje.

// Dotyková klávesnice TTP224

// pole s propojovacími piny
const int tlacitka[] = {4,5,6,7};
// proměnná stavu tlačítka
int stisk = 0;

void setup() {
  // komunikace přes sériovou linku rychlostí 9600 baud
  Serial.begin(9600);  
  // inicializace pole tlačítek
  for(int x=0; x<4; x++)
  {
    // zapojení tlačítek jako vstup
    pinMode(tlacitka[x], INPUT);
  }
}

void loop(){
  // čtení stavu jednotlivých tlačítek ve smyčce
  for(int x=0; x<4; x++)
  {
    // načtení stavu tlačítka a uložení do proměnné stisk
    stisk = digitalRead(tlacitka[x]);

    // pokud je tlačítko stisknuto,
    // vykonej následující
    if (stisk == HIGH) {    
      // vytiskni po sériové lince číslo tlačítka a zprávu
      Serial.print("Tlacitko ");
      Serial.print(x+1);
      Serial.println(" stisknuto");
      // volitelná pauza 500 ms
      delay(500);
    }
  }
}

Po úspěšném nahrání programu do Arduino desky s připojenou dotykovou klávesnicí dostaneme například tento výpis:

Tlacitko 1 stisknuto
Tlacitko 2 stisknuto
Tlacitko 3 stisknuto
Tlacitko 4 stisknuto

Dotyková klávesnice TTP224 je velice snadno použitelný ovládací prvek. Jeho použití je podle mého názoru velice vhodné do projektů, kde vyžadujeme například nulovou hlasitost stisku tlačítek, dlouhou životnost či zmíněnou nízkou spotřebu. Další nespornou výhodou je také nízký profil klávesnice nebo jednoduchost udržování čistoty klávesnice.

 

Seznam použitých komponent:

http://dratek.cz/arduino/974-arduino-uno-r3-atmega328p-1424115860.html

http://dratek.cz/arduino/1149-arduino-dotykove-tlacitko-senzor-ttp224-1449933432.html

FB tw

Další podobné články