Preskočiť na obsah

Arduino

z Wikipédie, slobodnej encyklopédie
Arduino Uno R3 SMD

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[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

[upraviť | upraviť zdroj]
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.

Arduino Software IDE
Základné informácie
VývojárArduino Software
Posledná stabilná verzia1.8.19 (20. december 2021; pred 1090 dňami)
Operačný systémViacplatformový softvér
LokalizáciaC, C++
Typ softvéruJava IDE
LicenciaGPL alebo LGPL
Ďalšie odkazy
Webová stránkaarduino.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 programovacom jazyku C a C++(Niekedy je nesprávne označovaný ako Wiring[26]). 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ť takto[27]. Program využíva tri interné funkcie pinMode()[28], digitalWrite()[29] a delay()[30]. 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.

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 SAMD[31].
  • 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 SRL[32]. 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.[33]

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

[upraviť | upraviť zdroj]

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

[upraviť | upraviť zdroj]
  1. Hernando Barragán. About Wiring [online]. [Cit. 2011-07-05]. Dostupné online. (anglicky)
  2. Daniel Shiffman. Interview with Casey Reas and Ben Fry [online]. [Cit. 2011-07-05]. Dostupné online. (anglicky)
  3. ARS Electronica. Prix Ars Electronica 2006 [online]. [Cit. 2011-07-05]. Dostupné online. Archivované 2014-02-04 z originálu. (nemecky)
  4. Arduino
  5. Nano
  6. Diecimila
  7. Duemilanove
  8. Uno
  9. ATmega328P
  10. Ethernet
  11. Mega
  12. Mega2560
  13. Mega ADK
  14. LilyPad
  15. BT (Bluetooth)
  16. Leonardo
  17. ATmega32U4
  18. Micro
  19. Esplora
  20. Yún
  21. Due
  22. SAM3X8E
  23. Zero
  24. ATSAMD21G18
  25. Programming Arduino Getting Started with Sketches [online]. McGraw-Hill. Dostupné online.
  26. Používa Arduino jazyk Wiring?
  27. Vzorový príklad Blink
  28. pinMode() [online]. . Dostupné online.
  29. digitalWrite() [online]. . Dostupné online.
  30. delay() [online]. . Dostupné online.
  31. Arduino IDE 2.0 beta
  32. Spor o obchodnú značku Arduino
  33. Zoznam podporovaných dosiek iných výrobcov

Iné projekty

[upraviť | upraviť zdroj]
  • Spolupracuj na Commons Commons ponúka multimediálne súbory na tému Arduino

Externé odkazy

[upraviť | upraviť zdroj]
  • Tento článok je čiastočný alebo úplný preklad článku Arduino na českej Wikipédii.