====== 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 }