====== Spínání diody a čtení hodnoty tlačítka ======
Popište použití funkcí pinMode, digitalWrite a digitalRead. Vysvětlete připojení tlačítka metodou PullUp, PullDown a co se bude dít při připojení bez rezistoru. Jaká je maximální proudová zátěž na digitálním výstupu?
**Jan Bednář**
=====pinMode()=====
====Použití====
Přiřadí danému pinu funkci vstupu (INPUT) nebo výstupu (OUTPUT).
====Syntax====
pinMode(pin, mód)
====Parametry====
**pin**\\
Číslo pinu, jejž chceme nastavit\\
**mód**\\
//INPUT// Nastaví pin jako vstup, tedy pro případ, že chceme, aby byl pin zdrojem informací.\\
//OUTPUT// Nastaví pin jako výstup, tedy pro případ, že chceme, aby pin poskytoval elektrický proud, pokud mu to přikážeme.\\
//INPUT_PULLUP// Používáme v případě, že na daný pin zapojujeme tlačítko. Nastaví pin jako vstup. Pokud není tlačítko sepnuté, proudí proud do pinu přes rezistor přímo z desky a na pinu čteme hodnotu //HIGH//. Ve chvíli, kdy tlačítko sepneme, přestane proud proudit do pinu a čteme hodnotu //LOW//.\\
//INPUT_PULLDOWN// \\
{{:vpr:laborky:ain:digitalpulluppulldown.jpg?400|void loop(){}}
====Příklad====
void setup(){
pinMode(3, OUTPUT); // nastaví pin číslo 3 jako pin výstupní
}
=====digitalWrite()=====
====Použití====
Pokud je pin nastaven jako výstup, můžeme touto funkcí měnit napětí na pinu. Napětí bude 0 V nebo 5 V (případně 3,3 V pro určitý typ desek).
====Syntax====
digitalWrite(pin, hodnota)
====Parametry====
**pin**\\
Číslo pinu, na němž chceme měnit napětí.\\
**hodnota**\\
//HIGH// Nastaví na daném pinu napětí na 5 V (příp. 3,3 V).\\
//LOW// Nastaví na daném pinu napětí na 0 V.\\
====Příklad====
void setup(){
pinMode(3, OUTPUT); // nastaví pin číslo 3 jako pin výstupní
digitalWrite(3, HIGH); // nastaví napětí na pinu číslo 3 na hodnotu 5 V
}
=====digitalRead()=====
====Použití====
Přečte hodnotu //HIGH// nebo //LOW// z daného pinu. Vrací tuto hodnotu.
====Syntax====
digitalRead(pin)
====Parametry====
**pin**\\
Číslo pinu, z něhož čteme hodnotu.\\
====Příklad====
int x = 0;
void setup(){
pinMode(3, OUTPUT); // nastaví pin číslo 3 jako pin výstupní
pinMode(4, INPUT); // nastaví pin číslo 4 jako pin vstupní
}
void loop(){
int x = digitalRead(4); // přečte hodnotu na pinu č. 4 a přiřadí ji proměnné x
digitalWrite(3, x); // změní napětí na pinu č. 3 na hodnotu x
}