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“.
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.
= priradenie
+ sčítanie
– odčítanie
* násobenie
/ delenie
% modulo
++ 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
< menší
> väčší
<= menší alebo rovné
>= väčší alebo rovné
== rovné
!= nerovné
&& and
|| or
! not
<< posun vľavo
>> posun vpravo
& and
| or
~ not
^ xor
* dereferencia
& referencia
? otáznik
: dvojbodka
; bodkočiarka
, čiarka
{} zložené zátvorky
// jednoriadkový komentár
/* */ viacriadkový komentár
#include
#define
#undef
#ifdef
#endif
#else
#elif
#error
if
if… else
switch case
for
while
do… while
break
continue
goto
return
konštanty digitálnych pinov
HIGH | LOW
INPUT | OUTPUT | INPUT_PULLUP
LED_BUILTIN
true | false logické konštanty
10 celočíselné konštanty
10.5 racionálne konštanty
‘a’ znakové konštanty
“text” konštantné reťazce
void
boolean
char, unsigned char
byte
int, unsigned int
word
long, unsigned long
short
float
double
string reťazcové pole
String objekt
array
char()
byte()
int()
word()
long()
float()
variable scope
static
volatile
const
sizeof()
PROGMEM
pinMode()
digitalWrite()
digitalRead()
analogReference()
analogRead()
analogWrite() PWM
tone()
noTone()
shiftOut()
shiftIn()
pulseIn()
delay()
delayMicroseconds()
millis()
micros()
min()
max()
abs()
constrain()
map()
pow()
sqrt()
sin()
cos()
tan()
isAlphaNumeric()
isAlpha()
isAscii()
isWhitespace()
isControl()
isDigit()
isGraph()
isLowerCase()
isPrintable()
isPunct()
isSpace()
isUpperCase()
isHexadecimalDigit()
random()
randomSeed()
lowByte()
highByte()
bitRead()
bitWrite()
bitSet()
bitClear()
bit()
interrupts()
noInterrupts()
attachInterrupt()
detachInterrupt()
Serial
Stream
Tento text je preložený a upravený zo stránok arduino.cc pod licenciou Creative Commons Attribution-ShareAlike 3.0.
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...
Editor plošných spojov EAGLE je užívateľsky prívetivý a výkonný nástroj pre návrh dosiek plošných spojov (DPS, PCB). Je široko používaný v priemysle a vývoji elektroniky...
Keďže rozmery SMD súčiastok sú veľmi malé, nie je možné na nich napísať celé typové označenie. Preto bolo vymyslené označovanie SMD rezistorov systémom kódovania, kde typové označenie je reprezentované troj až štvor-znakovou kombináciou. Tento kód je potom umiestnený na...