Práca s portami MCU
Úloha
-
Preštudujte si funkciu
pinMode()
Venujte pozornosť aj odkazu Digital pins
-
Preštudujte si funkciu
digitalWrite()
-
Pokúste sa nastaviť linky 0 až 7 ako výstupné
-
pripojte linky 0-7 na konektor X9
-
Rozblikajte diody na doske podľa pokynov učiteľa
Teória
Funkcia pinMode() má dva vstupné prametre. Prvé je číslo vývodu arduino dosky 0, 1, 2 ... 13, prípadne
aj A0, až A5. Málokto vie že aj analógové vývody vedia fungovať aj ako digitálne.
druhým parametrom je mód práce vývodu. možnosti sú nasledovné
- INPUT - Vývod bude z pohľadu MCU vstupom. MCU nať nebude vysielať žiadne napätie. Impedancia voči zemi je
cez 100MΩ
-
INPUT_PULLUP - vývod je z pohľadu MCU stále chápaný ako vstup ale interne je pomocou rezistora asi 50kΩ"pritiahnutý"
k +5V. Toto zapojenie sa bežne označuje pullup
-
OUTPUT - v tomto prípade sa z pohľadu MCU vývod stane digitálnym výstupom.
V prípade že na výstup nastavíme hodnotu logickej nuly tak na vývode sa zopne spodný tranzistor a pripojí vývod k zemi
V prípade že na výstup nastavíme hodnotu logickej jednotlky na vývode sa zopne horný tranzistor a pripojí vývod k +5V.
Maximálny prúd ktorý môžeme trazistormi nechať prechádzať je 40mA.
V prípade že je vývod nakonfigurovaný ako výstup tak pomocou funkcie digitalWrite()
možeme nastavovať hodnotu vývodu na hodnotu jedna alebo nula
digitalWrite(2, HIGH); //nastaví na výstup dva logickú 1 teda sa tento vývod pripojí cez tranzistor k +5V
digitalWrite(2, 1); //to isté ako predošlý príkaz len sa miesto symbolického mena použije číselná hodnota 1
digitalWrite(2, LOW); //nastaví na výstup dva logickú 0 teda sa tento vývod pripojí cez tranzistor k GND
digitalWrite(2, 0); //to isté ako predošlý príkaz len sa miesto symbolického mena použije číselná hodnota 0
Postup