1. Vývojové prostředí 2. Dálkové ovládání 3. Nový projekt 4. První program 5. Formátování kódu 6. Komentáře 7. Proměnná 8. Větvení 9. Cyklus 10. Funkce 11. LEDky 12. LED pásek 13. Sériová linka 14. Koncová tlačítka Detekce stisknutí tlačítka Jak program funguje 15. Práce s tlačítky 16. Ultrazvuk 17. IR senzor 18. Motory 19. Monitorování robotky 20. Serva (hloupá) 21. Úpravy dálkového ovládání Dokumentace Příklady

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.

Další kapitola: Práce s tlačítky