Programovanie Arduina
Programovací jazyk, v ktorom prebieha programovanie Arduina, sa volá Wiring. Lepšie povedané vychádza z jazyka Wiring, ale rozdiely sú minimálne. Podľa autorov ide o jazyk podobný C++, no v skutočnosti je to akýsi Metajazyk či vylepšená sada makier nad C++. Wiring pôvodne vznikol pre vývojový kit podobný Arduinu a vychádza z ďalšieho open source projektu, ktorý sa volá Processing. Môžete si všimnúť určitej podobnosti v logu Arduino a Processing.
Vývoj a návrh sledoval maximálnu jednoduchosť a zrozumiteľnosť pre programátora, ktorý s programovaním Arduina začína. Syntakticky možno použiť všetky návyky, čo máme z C jazykov. Všetky tie zložené zátvorky, bodkočiarky, definície funkcií a premenných, poznámky, bloky aj riadiace konštrukcie budú povedomé každému, kto kedy prešiel okolo C. Pritom nie je potrebné zaoberať sa všetkou tou „objektovou omáčkou“ – z objektovej syntaxe zostáva v podstate jediný operátor „.“ (bodka).
Ak budeme pre Arduino vytvárať knižnice (a to budeme v niektorom z ďalších dielov), zostúpime aj o úroveň nižšie k C++, ale zatiaľ si vystačíme s jazykom Wiring. Pri vytváraní knižníc predpokladám, že čitatelia už poznajú jazyk C a že teda nie je potreba popisovať dopodrobna základy jazyka. Ostatne to hlavné uvidíme napr. pri pohľade do „cheat sheetu“ a odlišnosti si vysvetlíme, keď na ne narazíme. Zatiaľ nám stačí vedieť, že môžeme písať „céčkové programy“.
setup() a loop()
Program v C má vždy hlavnú funkciu nazvanú main (), ktorá je volaná pri spustení programu. U Arduina máme také funkcie dve a nazývajú sa setup() a loop(). Toto rozvrhnutie vychádza najčastejšie z kostry programov pre jedno-čipy, kde po RESETe prebehne nejaká inicializácia a potom sa dokola vykonáva v nekonečnej slučke nejaká akcia, až do vypnutia napájania. Skúsení návrhári používajú postupy, kedy sa ona “nekonečná slučka” nahrádza kombináciou obslužných rutín, vyvolaných na základe nejakej akcie (prerušenia) a uspávajú Arduino do stavu s nízkym odberom. U Arduina, ktoré slúži predovšetkým pre experimenty a zoznámenie sa s elektronikou, je všetko zjednodušené do vyššie uvedenej podoby. Možno si to predstaviť zhruba takto:
void setup() { // vykoná sa len raz pri spustení } void loop() { // vykonáva sa opakovane }
No pre úplných začínajúcich doporučujem začať s článkom „Arduino IDE – návod na inštaláciu“ a potom pokračovať článkom „Prvý program: Arduino blikanie LED“, kde sa všetko potrebné dozvieš ako zapojiť a naprogramovať Arduino. Taktiež si preštuduj i tu dole nasledovné referencie jazyka Wiring.
Operátory
Aritmetické operátory
Zložené operátory
- ++ (inkrementácia)
- — (dekrementácia)
- += (priradenie sčítaním)
- -= (priradenie odčítaním)
- *= (priradenie násobním)
- /= (priradenie delením)
- %= (priradenie modulo)
- &= (priradenie bitovým and)
- |= (priradenie bitovým or)
Relačné operátory
- < (menší)
- > (väčší)
- <= (menší alebo rovné)
- >= (väčší alebo rovné)
- == (rovné)
- != (nerovné)
Logické operátory
Bitové operátory
- << (posun vľavo)
- >> (posun vpravo)
- & (and)
- | (or)
- ~ (not)
- ^ (xor)
Adresové operátory
- * (dereferencia)
- & (referencia)
Terárne operátory
Špeciálne operátory
- ; (bodkočiarka)
- , (čiarka)
- {} (zložené zátvorky)
- // (jednoriadkový komentár)
- /* */ (viacriadkový komentár)
Operátory preprocesora
Štruktúry
Riadiace štruktúry
Konštanty a premenné
Konštanty
- konštanty digitálnych pinov
- HIGH | LOW
- INPUT | OUTPUT | INPUT_PULLUP
- LED_BUILTIN
- logické konštanty (true | false)
- celočíselné konštanty (10)
- racionálne konštanty (10.5)
- znakové konštanty (‘a’)
- konštantné reťazce (“text”)
Premenné a dátové typy
- void
- boolean
- char, unsigned char
- byte
- int, unsigned int
- word
- long, unsigned long
- short
- float
- double
- string – reťazcové pole
- String – objekt
- array
Konverzie
Globálne premenné
Pomocné premenné
Funkcie
Digitálne I/O funkcie
Analógové I/O funkcie
- analogReference()
- analogRead()
- analogWrite() – PWM
Ostatné I/O funkcie
Funkcie času
Matematické funkcie
Goniometrické funkcie
Reťazcové funkcie
- isAlphaNumeric()
- isAlpha()
- isAscii()
- isWhitespace()
- isControl()
- isDigit()
- isGraph()
- isLowerCase()
- isPrintable()
- isPunct()
- isSpace()
- isUpperCase()
- isHexadecimalDigit()
Funkcie náhodných čísiel
Bajtové a bitové funkcie
- lowByte()
- highByte()
- bitRead()
- bitWrite()
- bitSet()
- bitClear()
- bit()
Prerušenia
- interrupts()
- noInterrupts()
- attachInterrupt()
- detachInterrupt()
Komunikácia
- Serial
- Stream
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