09.C Arduino – úplné základy: Tlačidlo – digitálny vstup (INPUT_PULLUP)
Cieľom tejto lekcie je:
- naučiť sa používať tlačidlo ako digitálny vstup,
- pochopiť rozdiel medzi vstupom a výstupom,
- ovládať diódu pomocou tlačidla,
- pochopiť, prečo používame režim INPUT_PULLUP.
Čo je digitálny vstup
Digitálny vstup:
- číta iba dva stavy:
HIGH(1)LOW(0)
Tlačidlo je typický digitálny vstup:
- nestlačené → jeden stav
- stlačené → druhý stav
Prečo nestačí „len tlačidlo“
Ak by bolo tlačidlo zapojené bez ďalších opatrení:
- vstup by bol nestabilný,
- Arduino by čítalo náhodné hodnoty.
➡️ Preto používame pull-up.
INPUT_PULLUP – čo to znamená
INPUT_PULLUP znamená:
- Arduino si vnútri zapne rezistor,
- vstup je v pokoji v stave
HIGH, - po stlačení tlačidla sa vstup spojí s GND a má hodnotu
LOW.
Dôležité pravidlo:
priINPUT_PULLUPplatí
stlačené tlačidlo = LOW
Zapojenie tlačidla (reálne Arduino)
Použijeme:
- tlačidlo
- Arduino Uno / Mega
- breadboard
- prepojovacie vodiče
Zapojenie
- jedna noha tlačidla → GND
- druhá noha tlačidla → port 2


Prvý program: tlačidlo ovláda diódu
V tomto programe:
- tlačidlo zapne diódu,
- po uvoľnení tlačidla dióda zhasne.
Použijeme:
- tlačidlo na porte 2
- diódu na porte 12 (externá LED s rezistorom)
Program: tlačidlo → dióda
void setup() {
pinMode(12, OUTPUT); // dióda (výstup)
pinMode(2, INPUT_PULLUP); // tlačidlo (vstup)
}
void loop() {
if (digitalRead(2) == LOW) { // tlačidlo stlačené
digitalWrite(12, HIGH); // dióda svieti
} else {
digitalWrite(12, LOW); // dióda nesvieti
}
}
Čo máš vidieť
- po stlačení tlačidla sa dióda rozsvieti,
- po uvoľnení tlačidla dióda zhasne.
Vysvetlenie programu krok po kroku
pinMode(2, INPUT_PULLUP);
→ port 2 je vstup, Arduino zapne vnútorný rezistordigitalRead(2)
→ čítame stav tlačidlaLOW
→ tlačidlo je stlačené (lebo ide na GND)
Zapojenie a program v Tinkercade


V Tinkercade:
- použi Arduino Uno,
- zapoj tlačidlo rovnako ako v reále,
- vlož ten istý program,
- spusti Start Simulation.
Správanie musí byť rovnaké ako na reálnom Arduine.
Najčastejšie chyby študentov
- tlačidlo nie je zapojené na GND,
- tlačidlo je otočené nesprávne na breadboarde,
- použitý
INPUTnamiestoINPUT_PULLUP, - očakávanie, že stlačené tlačidlo = HIGH.
Úlohy pre študentov
Úloha 1 (ľahká)
Zmeň port tlačidla na iný (napr. 3).
Úloha 2 (stredná)
Použi vstavanú diódu na porte 13 namiesto externej.
Úloha 3 (výzva)
Skús zapojiť dve tlačidlá – jedno zapína, druhé vypína diódu.
Poznámka
Táto lekcia je kľúčová:
- študenti pochopia logiku vstupov,
- naučia sa, že LOW nemusí znamenať „vypnuté“,
- vzniká základ pre stavové programy (START / STOP).
Odporúčanie:
- nechať študentov najprv len pozorovať správanie,
- až potom vysvetľovať teóriu.
Čo bude nasledovať
V ďalšej lekcii:
- spojíme tlačidlo a blikanie,
- vytvoríme START / STOP multivibrátor,
- urobíme prvý stavový program.


