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.

Výber na čítanie...

Arduino Due
Arduino Due

Arduino Due je prvou doskou Arduino založenou na 32-bitovom mikrokontroléri Atmel SAM3X8E ARM Cortex-M3 CPU. Ide o dokonalú dosku pre výkonné veľké Arduino projekty...

Čítať viac...

Arduino LilyPad
Arduino LilyPad

Arduino LilyPad je zamýšľaný pre projekty “e-textil“. Môže byť v šitý do tkaniny spolu so senzormi, napájaním a s ohybnými vodičmi. Osadený je známym čipom ATmega328...

Čítať viac...

Arduino Knižnice návod na inštaláciu
Knižnice – návod na inštaláciu

Knižnice určené pre Arduino sú priečinky (adresáre), ktoré združujú viac súborov so zdrojovými kódmi. Vďaka týmto zdrojovým kódom máme potom jednoduchší a prehľadnejší vlastný program, keď chceme pripojiť nejaký zložitejší modul, senzor, displej a podobne. Napríklad pri stiahnutí programovacieho ...

Čítať viac...

Obľúbené produkty...

Keyestudio Mechanical 4WD Robot Arm Car Kit

181.06 EUR

108.63 EUR

Vyhľadať články
Programovanie...
  • Dátové typy

    Celočíselné dátové typy môžu obsahovať modifikátory unsigned respektíve signed, čím môžeme požado...

  • Globálne premenné

    Premenné aj funkcie majú svoj rozsah platnosti, čiže oblasť, v ktorej fungujú a v ktorej nie. Vid...

  • Aritmetické operátory

    Aritmetické operátory vykonávajú matematické operácie dvoch výrazov jednej alebo viacerých typov ...

  • Matematické funkcie

    Teraz si ukážeme, aké ďalšie matematické funkcie a operácie podporuje Arduino okrem sčítavania, o...

  • Konštanty

    Konštanty sú symboly reprezentujúce nemennú číselnú alebo inú hodnotu. Prekladač jazyka im prirad...

Podpora webu
Na kávu už prispeli
Dátum Meno Suma
08.01.2024 Veres Dusan 10€
15.05.2023 Ivan Danis 10€
28.09.2022 Ivan Vrab 7€
14.05.2022 Nemcic Marian 10€
04.02.2022 Robert Bilko 5€
29.01.2022 Peter Buffa 5€
19.11.2021 Rastislav Rehak 5€
16.09.2021 Anton Strela 5€
13.09.2021 Juraj Jedlak 5€
02.09.2021 Michal Marek 7€
08.08.2021 František Uhrík 5€
21.07.2021 Juraj Hrdina 5€
25.03.2021 Jan Nemec 10€
16.03.2021 Igor Pavlov 5€
25.02.2021 Lukas Lacuch 5€
06.11.2020 Pavol Balint 5€
05.11.2020 Marek Horečný 5€
05.10.2020 Jan Kusnir 5€
27.04.2020 Jan Zuskin 15€
26.04.2020 Dušan Sojka 5€
24.02.2020 Juraj Lackanič 5€
22.01.2020 František Žilinec 10€
20.05.2018 Tomáš F. 2€
17.12.2018 Pavol P. 5€
QR Donate 10Eur