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...

Codino Studio IDE
Codino Studio

Objavila sa i ďalšia alternatíva k Arduino IDE a máme tu Codino. Na domovskej stránke sa chváli slušným editorom, ktorý vie automatické doplňovanie, automatické ukladanie alebo zvýrazňovanie. Taktiež obsahauje sériový terminál a ploter. Codino Studio je úplne bezplatný produkt. Môžete si ho stiahnuť ...

Čítať viac...

Dallas DS18B20 – meranie teploty
Dallas DS18B20 – meranie teploty

Ďalší vynikajúci senzor na meranie teploty je Dallas DS18B20. V článku popisujem jeho parametre, dva spôsoby napájania, vnútornú pamäť (registre) a samozrejme zapojenie s Arduinom, jednoduchý program a nejaké fotky. Teplotný senzor (alebo tiež čidlo) DS18B20 od firmy Maxim (predtým Dallas) je v Arduino komunite veľmi obľúbené. Za veľmi dobrú cenu umožňuje...

Čítať viac...

Programino IDE – návod na inštaláciu
Programino IDE – návod na inštaláciu

PROGRAMINO IDE je alternatívne pohodlné a ľahko použiteľné vývojové prostredie pre Arduino a kompatibilné dosky. Rôzne dostupné nástroje uľahčujú rýchlu realizáciu projektu. Obsahuje dva UART terminály, náhľad hardvéru, prispôsobiteľné zvýraznenie syntaxe, možnosť vyhľadávania...

Čítať viac...

Obľúbené produkty...

Keyestudio JoyStick Shield PS2 nRF24L01

7.50 EUR

7.05 EUR

Keyestudio CAN-BUS Shield MCP2515

11.37 EUR

10.58 EUR

Keyestudio Multi-purpose Shield V1

10.70 EUR

9.99 EUR

Vyhľadať články
Programovanie...
  • Bitové operátory

    Bitové operátory umožňujú vykonať operácie nad jednotlivými bitmi. Túto možnosť zďaleka nemajú vš...

  • Konverzie

    Možno ste sa už pri programovaní dostali do situácie, kedy si program robil s číslami a dátovými ...

  • Matematické funkcie

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

  • Zložené operátory

    Použitie zložených priraďovacích operátorov zjednodušuje a sprehľadňuje zdrojový kód, no použitie...

  • Dátové typy

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

Podpora webu
Na kávu už prispeli
Dátum Meno Suma
22.03.2025 Radoslav Kopera 5€
30.12.2024 Jozef Greš 5€
20.10.2024 Radovan Nosáľ 20€
02.10.2024 Milan Durkoš 10€
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