Koncová tlačítka
Detekce stisknutí tlačítka
Tento program ukazuje základní práci s koncovými tlačítky (odkaz na zapojení je zde). U tohoto tlačítka nás budou zajímat stavy uvolněno a stisknuto. Pro tuto operaci nám poslouží funcke digitalRead
. Tato funkce má pouze jeden parametr, kterým je číslo pinu, na kterém tlačítko je a vrací false
pokud je tlačíko stisknuté a true
pokud je uvolněné. Pro zvolená koncová tlačítka je možné použít dva piny: EXTRA_BUTTON1
a EXTRA_BUTTON2
. Následující příklad ukazuje použití této funkce pro práci s koncovými tlačitky.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include "robotka.h"
void setup() {
rkConfig cfg;
rkSetup(cfg);
while(true){
if( digitalRead(EXTRA_BUTTON1) == false ){ // tlacitko je stiskle
printf("Tlacitko 1 je stiskle\n");
}
else{ // tlacitko je uvolnene
printf("Tlacitko 1 je uvolnene\n");
}
// druhe koncove tlacitko
if( digitalRead(EXTRA_BUTTON2) == false ){ // tlacitko je stiskle
printf("Tlacitko 2 je stiskle\n");
}
else{ // tlacitko je uvolnene
printf("Tlacitko 2 je uvolnene\n");
}
}
}
Jak program funguje
V nekonečné smyčce while(true)
se opakovaně kontrolují podmínky stisknutí obou koncových tlačítek.
1
2
3
4
5
6
7
if( digitalRead(EXTRA_BUTTON1) == false ){ // tlacitko je stiskle
printf("Tlacitko 1 je stiskle\n");
}
else{ // tlacitko je uvolnene
printf("Tlacitko 1 je uvolnene\n");
}
}
Nejprve se ověří, zda je stisknuté tlačítko pomocí if
. Pokud je stisknuto, tak se vypíše že je stiskuté if
, jinak pokud není stisknuté, tak se vypíše, že je uvolněné else
. Toto se opakuje i pro druhé tlačítko, kde akorát zaměníme číslo pinu z EXTRA_BUTTON1
na EXTRA_BUTTON2
.