Arduino

Arduino  je open-source platforma, založená pôvodne na mikrokontroléri ATMega od firmy Atmel a grafickom vývojovom prostredí, ktoré vychádza z prostredia Wiring (podobný projekt ako Arduino, teda doska s mikrokontrolérom a IDE) a Processing (prostredie pre výuku programovania). Arduino môže byť použité k vytváraniu samostatných interaktívnych zapojení alebo môže byť pripojené k softvéri na počítači (napr. Macromedia Flash, Processing, Max/MSP, Pure Data, SuperCollider). Momentálne možno kúpiť verzie, ktoré sú už skompletované; schéma a návrh plošného spoja je dostupná pre tých, ktorí si chcú postaviť Arduino sami.

Projekt Arduino získal ocenenie v kategórii digitálnych komunít na Prix Ars Electronica 2006.

 Prehľad základných hardvérových modulov 
Označenie modulu Arduino Mikrokontrolér Napájacie napätie FlashKiB EEPROMKiB SRAMKiB DigitálneI/O Piny PWM kanály Analogové vstupy Komunikačné 
rozhrania  Rozmery[mm] NanoNano  ATmega328 (8-bit) 5V 32 1 2 14 6 8  Mini-B USB, I²C, SPI  43 × 18 DiecimilaDiecimila  ATmega168 (8-bit) 5V 16 0,5 1 14 6 6  USB  68,6 × 53,3 DuemilanoveDuemilanove  ATmega168 (8-bit) 5V 16 0,5 1 14 6 6  USB, SPI, ICSP, I²C  68,6 × 53,3 UnoUno ATmega328ATmega328P (8-bit) 5V 32 1 2 14 6 6  USB, SPI, ICSP, I²C  68,6 × 53,3  EthernetEthernet ATmega328 (8-bit) 5V 32 1 2 14* 4 6  Ethernet, SD card, SPI, TWI  68,6 × 53,3 MegaMega ATmega1280 (8-bit) 5V 128 4 8 54 14 16  USB, SPI, ICSP, I²C, 4 UART  101,6 × 53,3 Mega2560Mega2560 ATmega2560 (8-bit) 5V 256 4 8 54 14 16  USB, SPI, ICSP, I²C, 4 UART  101,6 × 53,3 Mega ADKMega ADK ATmega2560 (8-bit) 5V 256 4 8 54 14 16  USB, SPI, ICSP, I²C, 4 UART  101,6 × 53,3 LilyPadLilyPad ATmega168V oderATmega328V (8-bit) 2,7-5,5 V 16 0,5 1 14 6 6  USB ( FTDI Basic Breakout required )  ø 50 BT (Bluetooth)BT (Bluetooth)  ATmega328 (8-bit) 5V 32 1 2 14 4 6  Bluegiga WT11 Bluetooth, TWI, I²C, SPI 81,2 × 53,3 LeonardoLeonardo ATmega32U4ATmega32U4 (8-bit) 5V 32 1 2,5 20 7 12  USB, ICSP, TWI, I²C, 1 UART 68,6 × 53,3 MicroMicro ATmega32U4 (8-bit) 5V 32 1 2,5 20 7 12  USB, ICSP, TWI, I²C, 1 UART 48,3 × 17,8 EsploraEsplora  ATmega32U4 (8-bit) 5V 32 1 2,5 - - -  Micro USB, ICSP, Tinkerkit- konektory, TFT-konektor (LC-Display)   YúnYún ATmega32U4 (8-bit),Atheros AR9331 (32-bit) 5V 32,16 MB neobsahuje 16,400 14 6 12  USB, SPI, ICSP, I²C 68,6 × 53,3 DueDue AT91SAM3X8ESAM3X8E (32-bit) 3,3V 512 neobsahuje 96 54 12 12  USB, CAN, ICSP, 2 TWI, 2 I²C, 4 UART, 2 DAC 101,6 × 53,3 ZeroZero** ATSAMD21G18ATSAMD21G18 (32-bit) 3,3V 256 0-16 emulácia 48 14 10 6  USB, ICSP, TWI, I²C, UART, DAC 68,6 × 53,3
* Niektoré z týchto  14 pinov sú rezervované.

** V roku 2015 došlo k rozkolu medzi autormi Arduina. Následne vznikli dve spoločnosti. Obe vyrábajú tento model, sú však navzájom nekompatibilné vďaka prehodeniu digitálnych pinov 2 a 4. Nekompatibilné verzie majú názvy Arduino M0 a Arduino M0 Pro.

 Software 

Vývojové prostredie Arduina (IDE) je viacplatformová aplikácia, naprogramovaná v Jave. Je navrhnuté tak, aby umožnilo programovať aj ľuďom, ktorí nemajú veľké skúsenosti s programovaním. Obsahuje editor kódu s bežnými vlastnosťami ako farebné označovanie syntaxe, automatické zarovnávanie a párovanie zátvoriek. Je schopné program skompilovať a nahrať do Arduina jedným kliknutím tlačidla. Program pre Arduino sa pomenúva anglickým slovom sketch.

Programy pre Arduino sa píšu v programovacom jazyku C a C++(Niekedy je nesprávne označovaný ako WiringPoužíva Arduino jazyk Wiring?). IDE obsahuje knižnicu funkcií, ktoré uľahčujú písanie najzákladnejších operácii s hardvérom. Užívateľ musí definovať iba dve funkcie, aby sa získal spustiteľný program:

 setup(): funkcia, ktorá sa spúšťa iba raz na začiatku programu a používa sa na nastavenie parametrov
 loop(): funkcia, ktorá je periodicky spúšťana, pokiaľ je mikrokontrolér pripojený ku zdroju elektrickej energie

Typický prvý program pre Arduino je program na blikanie LED diódou. Program môže vyzerať taktoVzorový príklad Blink. Program využíva tri interné funkcie pinMode(), digitalWrite() a delay(). Tento program je obvykle nahraný na doske od samotného výrobcu.
#define LED_PIN 13

void setup() {
  pinMode(LED_PIN, OUTPUT); // Povoliť pin 13 ako digitálny výstup
}

void loop() {
  digitalWrite(LED_PIN, HIGH); // Zapnúť LED
  delay(1000); // Čakať jednu sekundu (1000 milisekúnd)
  digitalWrite(LED_PIN, LOW); // Vypnúť LED
  delay(1000); // Čakať jednu sekundu
}

Užitočnou konštrukciou typickej dosky pre Arduino je prítomnosť LED diódy a predradného rezistora medzi pinom 13 a zemou, preto je možné tento príklad vyskúšať priamo na doske.

 IDE 
Na vývoj je možné použiť niekoľko verzií IDE. Je vhodné používať najaktuálnejšiu verziu, pretože v starších IDE nie sú vykonávané žiadne úpravy.
 Arduino IDE 2.0 RC - Táto vývojová verzia je v beta verzii. Je postavená nad modernejšími technológiami. Využíva Electron a vzhľadom sa podobá na Visual Studio Code alebo PlatformIO. Na rozdiel od predchádzajúcich verzií ponúka napríklad debugger pre dosky s čipmi SAMDArduino IDE 2.0 beta.
 1.9.X - Táto vývojová vetva je v beta verzii. Mala by priniesť oddelenie AVR jadra od vývojového prostredia. Po úprave bude IDE dodávané bez neho a jadro sa bude inštalovať len pomocou Manažéra dosiek. Táto verzia bude pravdepodobne preskočená a nahradí ju IDE 2.0.
 1.8.X - Táto vývojová vetva vznikla po ukončení sporov medzi firmami Arduino LLC a Arduino SRLSpor o obchodnú značku Arduino. Obsahuje podporu pre všetky dosky oboch výrobcov.
 1.7.X - Táto vývojová vetva bola vytvorená firmou Arduino SRL počas sporu o vlastníctvo obchodnej značky Arduino. Vyššia verzia mala naznačovať, že sa jedná o modernizovanú verziu. Nepodarilo sa jej ale na svoju stranu získať podporu vývojárov a v podstate sa sústredila iba na programovanie podpory pre dosky tejto firmy. Samotné IDE ostávalo nezmenené.
 1.6.X - Umožňuje programovať aj novšie moduly, ktoré sú založené na mikrokontroléroch AT91SAM3X8E alebo ATSAMD, aj všetky predchádzajúce. Napríklad Arduino Due alebo Zero. Pri niektorých knižniciach (vydávaných mimo oficiálnej distribúcie) nie je zaručené, že ich autori prispôsobili, vtedy je nutné použiť nižšiu verziu IDE.
 1.0.X - Umožňuje programovať iba moduly, ktoré sú založené na mikrokontroléri ATmega. Najbežnejšie je Arduino Uno.

IDE umožňuje programovať aj ďalšie mikrokontroléry. Napríklad mikrokontroléry ESP8266 so zabudovanou podporou Wi-Fi. Je to vďaka otvorenej architektúre, umožňujúcej pridávať ľubovoľné balíky programov (nazývané toolchain), ktoré vedia skompilovať program pre konkrétny cieľový mikrokontrolér.Zoznam podporovaných dosiek iných výrobcov

 Knižnice 
Programovanie Arduina uľahčuje existencia obrovského množstva knižníc. Knižnice je ucelený zdrojový kód, ktorý je obvykle umiestnený na serveri GitHub. Okrem zdrojového kódu v C++ je doplnená metaznačkami, ktoré umožňujú IDE indexovať tieto zdrojové kódy a poskytovať ich na pohodlnú inštaláciu prostredníctvom Manažéra knižníc. Knižnica obvykle poskytuje ucelenú sadu funkcií alebo tried, určených na ovládanie konkrétneho hardvéru.

 Online nástroje 
Arduino je možné programovať v cloude pomocou editora Arduino Web Editor na stránke Arduino Create. Obsahuje editor zdrojového kódu, úložisko pre vlastné programy, ktoré možno zdieľať s ostatnými užívateľmi a nainštalované knižnice. Programovanie v editore funguje tak, že v prehliadači sa upravuje zdrojový kód, ktorý sa odošle na preklad na virtuálny server. Z virtuálneho servera sa vráti preložený program v binárnom tvare, ktorý sa následne nahrá do Arduina pomocou programu, ktorý musí byť nainštalovaný v počítači a ktorý slúži ako prenosový mostík medzi cloudom a fyzickým hardvérom, pripojeným k počítaču.

 Referencie 

 Iné projekty 

 Externé odkazy 
 arduino.cc – domovská stránka projektu
 arduinoposlovensky.sk – webové stránky o programovaní Arduina
 blog.sitepoint.sk – blog o programovaní Arduina a ATtiny85
 arduinoslovakia.eu – blog o programovaní Arduina
 deadawp – blog o praktickej realizácii Arduino projektov

 Zdroj 


Kategória:Slobodný softvér
Kategória:Slobodný hardvér
Kategória:Mikrokontroléry
Kategória:Automatizácia
Kategória:Robotika