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

Relačné operátory

Logické operátory

Bitové operátory

Adresové operátory

Terárne operátory

Špeciálne operátory

Operátory preprocesora

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.

Arduino programovanie zoznam funkcií