Digitálne IO funkcie
Keďže je Arduino určené k ďalšiemu rozširovaniu, obsahuje vstupy a výstupy (nazývané piny), ku ktorým sa dajú vodičmi pripojiť ďalšie obvody, čipy, relé, pamäte atď.. K práci s týmito pinmi má Arduino k dispozícii jednoduché funkcie.
pinMode(pin, mode);
Najskôr zo všetkého je však potreba programu povedať, či s pinom pracujeme ako so vstupom alebo výstupom. Na nastavenie pinu slúži funkcia pinMode. Tá pre svoju správnu činnosť potrebuje dva vstupné parametre – pin (číslo pinu) a mode (INPUT, OUTPUT alebo INPUT_PULLUP). Ak chceme daný pin používať ako vstup, bude druhý parameter INPUT, ak ako výstup, bude to OUTPUT. Číslo pinu je väčšinou vytlačené na doske Arduino.
pinMode (13, OUTPUT); // Nastavenie pinu 13 na výstup pinMode (12, INPUT); // a pinu 12 na vstup
Vo verzii Arduino UNO teda môžeme používať piny 0 až 13. Tým to ale nekončí, pretože môžeme k digitálnym operáciám používať aj piny označené ako ANALOG IN, len namiesto samotného čísla musíme pred číslo napísať A. U Arduino UNO sú to teda A0 až A5.
Pozor pri nastavení pinu 13 ako vstupný (INPUT alebo INPUT_PULLUP), kde je pripojená LED dióda cez rezistor!
digitalWrite(pin, hodnota);
Zapíše na pin hodnotu HIGH alebo LOW. Ak je pin nakonfigurovaný ako výstup (OUTPUT), jeho napätie bude nastavené na zodpovedajúcu hodnotu HIGH, to je 5V (alebo 3,3 V pri doskách s napájaním 3,3 V) alebo pre hodnotu LOW je to 0V (zem).
digitalWrite(13, HIGH); digitalWrite(12, LOW);
V prípade, že máte pin nakonfigurovaný ako vstup (INPUT), tak táto funkcia povolí (pri HIGH) alebo zakáže (pri LOW) interný pull-up rezistor. Pre povolenie interného pull-up rezistora sa doporučuje použiť pinMode s parametrom INPUT_PULLUP.
digitalRead(pin);
Načíta z pinu hodnotu HIGH alebo LOW.
int ledPin = 13; // LED pripojená na digitálny pin 13 int inPin = 7; // tlačítko pripojené na digitálny pin 7 int val = 0; // premenná na uloženie načítanej hodnoty void setup() { pinMode(ledPin, OUTPUT); // nastaví pin 13 ako výstup pinMode(inPin, INPUT); // nastaví pin 7 ako vstup } void loop() { val = digitalRead(inPin); // načíta hodnotu zo vstupného pinu tlačítka digitalWrite(ledPin, val); // nastaví pin pre LED podľa načítanej hodnoty }
Ak pin nie je pripojený k ničomu (neuzemnený alebo nepripojený na +5V), tak funkcia digitalRead môže vrátiť hodnotu buď HIGH alebo LOW (môže sa náhodne meniť).
Tento text je preložený a upravený zo stránok arduino.cc pod licenciou Creative Commons Attribution-ShareAlike 3.0.
Najobľúbenejšie produkty pre Arduino projekty

Keyestudio Super Starter Kit UNO V4
0.00

Keyestudio ESP32-WROOM-32 Module Bluetooth WiFi
20.48

Keyestudio UNO R3 PLUS Development Board with Type C interface (kompatibilné s Arduinom)
0.00

Keyestudio CAN-BUS Shield MCP2515 (kompatibilné s Arduinom)
18.42

Keyestudio Super Starter Kit MEGA 2560 V4
0.00

Keyestudio MEGA 2560 R3 Development Board (kompatibilné s Arduinom)
34.26

Keyestudio Nano Development Board (kompatibilné s Arduinom)
0.00

Keyestudio Leonardo R3 ATmega32U4 Development Board (kompatibilné s Arduinom)
14.34