Arduino
Arduino je open-source platforma založená 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[1]) a Processing (prostredie pre výuku programovania).[2] 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.[3]
Prehľad základných hardvérových modulov
Označenie modulu [4] | Mikrokontrolér | Napájacie napätie | Flash KiB |
EEPROM KiB |
SRAM KiB |
Digitálne I/O Piny |
PWM kanály | Analogové vstupy |
Komunikačné
rozhrania |
Rozmery [mm] |
---|---|---|---|---|---|---|---|---|---|---|
Nano[5] | ATmega328 (8-bit) | 5V | 32 | 1 | 2 | 14 | 6 | 8 | Mini-B USB, I²C, SPI | 43 × 18 |
Diecimila[6] | ATmega168 (8-bit) | 5V | 16 | 0,5 | 1 | 14 | 6 | 6 | USB | 68,6 × 53,3 |
Duemilanove[7] | ATmega168 (8-bit) | 5V | 16 | 0,5 | 1 | 14 | 6 | 6 | USB, SPI, ICSP, I²C | 68,6 × 53,3 |
Uno[8] | ATmega328[9] (8-bit) | 5V | 32 | 1 | 2 | 14 | 6 | 6 | USB, SPI, ICSP, I²C | 68,6 × 53,3 |
Ethernet[10] | ATmega328 (8-bit) | 5V | 32 | 1 | 2 | 14* | 4 | 6 | Ethernet, SD card, SPI, TWI | 68,6 × 53,3 |
Mega[11] | ATmega1280 (8-bit) | 5V | 128 | 4 | 8 | 54 | 14 | 16 | USB, SPI, ICSP, I²C, 4 UART | 101,6 × 53,3 |
Mega2560[12] | ATmega2560 (8-bit) | 5V | 256 | 4 | 8 | 54 | 14 | 16 | USB, SPI, ICSP, I²C, 4 UART | 101,6 × 53,3 |
Mega ADK[13] | ATmega2560 (8-bit) | 5V | 256 | 4 | 8 | 54 | 14 | 16 | USB, SPI, ICSP, I²C, 4 UART | 101,6 × 53,3 |
LilyPad[14] | ATmega168V oder ATmega328V (8-bit) |
2,7-5,5 V | 16 | 0,5 | 1 | 14 | 6 | 6 | USB ( FTDI Basic Breakout required ) | ø 50 |
BT (Bluetooth)[15] | ATmega328 (8-bit) | 5V | 32 | 1 | 2 | 14 | 4 | 6 | Bluegiga WT11 Bluetooth, TWI, I²C, SPI | 81,2 × 53,3 |
Leonardo[16] | ATmega32U4[17] (8-bit) | 5V | 32 | 1 | 2,5 | 20 | 7 | 12 | USB, ICSP, TWI, I²C, 1 UART | 68,6 × 53,3 |
Micro[18] | ATmega32U4 (8-bit) | 5V | 32 | 1 | 2,5 | 20 | 7 | 12 | USB, ICSP, TWI, I²C, 1 UART | 48,3 × 17,8 |
Esplora[19] | ATmega32U4 (8-bit) | 5V | 32 | 1 | 2,5 | - | - | - | Micro USB, ICSP, Tinkerkit- konektory, TFT-konektor (LC-Display) | |
Yún[20] | 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 |
Due[21] | AT91SAM3X8E[22] (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 |
Zero[23]** | ATSAMD21G18[24] (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
Arduino Software IDE | |
Základné informácie | |
---|---|
Vývojár | Arduino Software |
Posledná stabilná verzia | 1.8.13 (16. jún 2020) |
Operačný systém | Viacplatformový softvér |
Lokalizácia | C, C++ |
Typ softvéru | Java IDE |
Licencia | GPL alebo LGPL |
Ďalšie odkazy | |
Webová stránka | arduino.cc |
Pozri aj Informačný portál |
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.[25]
Programy pre Arduino sa píšu v jazyku Wireing (ktorý je založený na programovacom jazyku C a C++). 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 parametrovloop()
: 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ť takto:[26]
#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 PRO - Táto vývojová verzia je v alfa 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 SAMD.
- 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.
- 1.8.X - Táto vývojová vetva vznikla po ukončení sporov medzi firmami Arduino LLC a Arduino SRL[27]. 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.[28]
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
- Hernando Barragán. About Wiring [online]. [Cit. 2011-07-05]. Dostupné online. (anglicky)
- Daniel Shiffman. Interview with Casey Reas and Ben Fry [online]. [Cit. 2011-07-05]. Dostupné online. (anglicky)
- ARS Electronica. Prix Ars Electronica 2006 [online]. [Cit. 2011-07-05]. Dostupné online. (nemecky)
- Arduino
- Nano
- Diecimila
- Duemilanove
- Uno
- ATmega328P
- Ethernet
- Mega
- Mega2560
- Mega ADK
- LilyPad
- BT (Bluetooth)
- Leonardo
- ATmega32U4
- Micro
- Esplora
- Yún
- Due
- SAM3X8E
- Zero
- ATSAMD21G18
- Programming Arduino Getting Started with Sketches [online]. McGraw-Hill. Dostupné online.
- Vzorový príklad Blink
- Spor o obchodnú značku Arduino
- Zoznam podporovaných dosiek iných výrobcov
Zdroj
- Tento článok je čiastočný alebo úplný preklad článku Arduino na českej Wikipédii.
Externé odkazy
- www.arduino.cc domovská webová stránka projektu
- www.arduino.sk webová stránka slovenskej komunity Arduina (diskusné fórum)
- www.arduinoposlovensky.sk webové stránky o programovaní Arduina
- blog.sitepoint.sk blog o programovaní Arduina a ATtiny85
- sites.google.com/site/arduinoslovakia blog o programovaní Arduina a ATtiny85
- www.arduinoslovakia.eu blog o programovaní Arduina
- http://deadawp.blog.sector.sk/ blog o praktickej realizácii Arduino projektov
- https://martinius96.github.io/termostat-ethernet/ Projekt termostatu na platforme Arduino a Ethernet s webovým rozhraním