Obsah
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
Příklad
- |h Nastavení pinu
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
- |h Nastavení napětí na pinu
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
- |h Nastavení napětí na pinu
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 }