Sdílejte chiptron.cz na sociálních sítích



RSS feeds

Arduino, čili mikrokontroléry pro každéhoTisk

Každý elektro nadšenec přinejmenším slyšel o Arduino, které získalo obrovskou popularitu díky svým jedinečným vlastnostem. Společnost, kterou založili a vytvořili nadšenci, určuje dnes standardy konektorů a distribuce signálů velkým korporacím – výrobcům mikrokontrolérů nebo vyhodnocovacích desek. Co je Arduino a proč se stalo neformálním standardem ve vzdělávání a prototypování? A v neposlední řadě, jaké jsou typy Arduino, co můžete dělat s Arduino a jak je používat pro své vlastní potřeby?

Arduino – ideální volba pro začínající programátory


Pokud se chcete naučit programovat mikrokontroléry, je platforma Arduino skvělou volbou. Podobně, pokud jste elektro nadšenci, máte nějaký nápad a chcete rychle vytvořit zařízení založené na mikrokontroléru a na standardních periferních zařízeních, jako jsou: alfanumerické, grafické displeje, LED, LCD s přidruženými tlačítky nebo bez nich, senzory, přenosové moduly, drivery motorů nebo elektroventilů a mnoho jiných. Platformu Arduino stojí za to také využít, pokud chcete vyrobit krátkou sérii zařízení, v nichž bude „srdcem“ mikrokontrolér, který nemusí nutně spolupracovat s rozšiřujícími moduly Arduino.

Arduino – co je to?


Co je Arduino? Není to jen deska mikropočítače (nejčastěji když se řekne „Arduino” máme na mysli pouze ji), ale kompletní platforma založená na snadno použitelném hardwaru a softwaru. Důležité je, že se jedná o open source platformu, což znamená přístup k bezplatné, podrobné dokumentaci a programovým schématům a zdrojům. Zařízení vyrobené na základě platformy Arduino se obvykle skládá ze základní desky s mikrokontrolérem a připojeného k ní rozšiřujícího modulu, kterému se říká shield.

Většina základních desek Arduino má USB rozhraní určené pro jejich programování pomocí PC. Na některých deskách jsou signály mikrokontroléru přiváděny do zásuvek, ke kterým jsou připojeny rozšiřující moduly, a na některých k pájecím bodům. Vzhledem k tomu, že takové desky jsou nabízeny jako miniaturní moduly, občas jsou hovorově označovány jako „mikrokontrolér Arduino“ nebo „mikropočítač Arduino“.


Fot. 1. Rozšiřující modul s LED displejem a tlačítky. S jeho pomocí lze snadno vytvořit hodiny.

Programování v Arduino IDE


Syntaxe jazyka umožňujícího programování Arduino je podobná jako u jazyka C++ a stala se velmi oblíbená mezi programátory mikrokontrolérů. Silnou stránkou vývojového prostředí Arduino je dostupnost četných hotových knihoven usnadňujících tvorbu programu a nespočetného množství hotových aplikací vyvinutých uživateli této platformy z celého světa. Důležité je také, že vývojové prostředí je veřejně přístupné, bez ohledu na účel jeho použito. Obdobně samotná základová deska – pokud ji nechcete kupovat, můžete si ji vyrobit sami podle dostupné dokumentace.

Stručná historie vzniku Arduino


Myšlenka Arduina se narodila v Itálii, v Ivrea Interaction Design Institute. Platforma Arduino měla být určena pro rychlé prototypování a výuku programování studenty, kteří se doposud nezabývali elektronikou a programováním. Autoři Arduino měli skvělý nápad, protože se Arduino osvědčilo nejen na univerzitě, ale i mimo ni. Pomáhalo totiž mnoha lidem ve výuce nebo rychlé realizaci nápadů.

Poté, co platforma Arduino překročila hranice univerzity a byla přijata mnohem širším okruhem uživatelů, musela se přizpůsobit novým výzvám a uspokojit nové potřeby. Zároveň se nabídka základních desek výrazně diverzifikovala, zahrnovala totiž nejen jednoduché 8bitové jednotky, ale také rozsáhlejší, určené pro použití v zařízeních IoT, přenosných zařízeních, 3D tiskárnách a jiných, mnohem náročnějších aplikacích. Všechny desky Arduino jsou založeny na principech open source licence, která umožňuje uživatelům zhotovit je samostatně a přizpůsobit konkrétním potřebám. Také software je typu open source a je vyvíjen díky práci uživatelů po celém světě.

Proč právě Arduino


Ještě před několika lety měl každý výrobce vyhodnocovacích desek nebo mikrokontrolérů svůj vlastní standard konektorů. Nyní se většina z nich přizpůsobuje neformálnímu „standardu“ zavedenému společností Arduino. Hlavním důvodem je zcela jistě, kromě oblíbenosti samotného Arduino, dostupnost velkého množství modulů rozšíření (tzv. shield – zde). Pokud výstupy nabízené vyhodnocovací desky jsou v souladu s výstupy Arduina, má uživatel možnost volně využít obrovskou nabídku modulů rozšíření pro Arduino, což umožňuje snadné, levné a rychlé získání očekávané funkčnosti prototypu. Přináší to také výhody pro výrobce vyhodnocovací desky, protože se může zaměřit na aplikaci samotného mikrokontroléru, který obklopí pouze minimální sadou spolupracujících komponentů, což umožňuje snížit její konečnou cenu.


Fot. 2. Modul rozšíření s GSM modemem. Lze jej použit k vytvoření upozornění s oznámením.

Díky snadnému použití, dostupnosti a s ohledem na různé potřeby uživatelů, můžeme mezi projekty realizovanými pomocí Arduino najít řešení mnoha problémů a realizovat téměř jakékoli zařízení. Mohou být použity přímo nebo použity jako referenční projekt. Software pro tvoření aplikací (Arduino IDE) je velmi snadno použitelný pro začátečníky, ale zároveň je flexibilní a poskytuje mnoho možností pro pokročilé uživatele. Může být spuštěn pod kontrolou operačních systémů Mac OS, Windows a Linux. Díky tomu je k dispozici uživatelům s různými hardwarovými preferencemi a různými finančními možnostmi.

Spočítat všechny aplikace Arduino není možné, protože je stejně populární u profesionálů, jak i u amatérů. Učitelé a studenti používají Arduino ke zhotovení levných měřicích přístrojů, a to nejen elektrických veličin, ale také určených pro použití při chemických a fyzikálních experimentech. Ve školách po celém světě se používá k výuce programování a robotiky. Projektanti a architekti používají Arduino k vytváření prototypů interaktivních budov, hudebníci a umělci vytvářejí jeho pomocí interaktivní umělecké instalace a experimentují s novými typy hudebních nástrojů. Pro mnoho osob je platforma Arduino klíčovým nástrojem pro učení se novým dovednostem. Může ji použít každý: děti, amatéři, umělci, programátoři, konstruktéři zařízení a mnoho dalších osob. Každý si může vytvořit nějaké zařízení podle pokynů k sestavení krok za krokem nebo sdílet nápady online s ostatními členy komunity Arduino.

Které Arduino si vybrat


Pro zhotovení prototypu nebo zařízení postaveného na platformě Arduino, obvykle potřebujeme základní desku vybavenou vhodným pro naše potřeby typem mikrokontroléru, modulem rozšíření – rozšíření shield, software Arduino IDE, USB kabel, napájecí zdroj a PC. V současné době obsahuje ekosystém různé typy Arduino, s různými mikrokontroléry a obrovským počtem rozšiřujících modulů. Vzorové moduly jsou zobrazeny na fotografiích 1... 3.

V závislosti na typu jsou desky Arduino vybaveny konektory – zásuvkami pro goldpiny nebo pájecími body, které lze použít nejen pro připojení desky, ale také pro její připevnění na plošném spoji zařízení embedded, pokud mikropočítač Arduino funguje jako centrální jednotka. Každá má v paměti mikrokontroléru uložený bootloader, který je určen k programování procesoru „in-circuit“ (bez odpájení ze systému) pomocí jednoduchého výběru možností z nabídky prostředí Arduino IDE.


Fot. 3. Modul rozšíření s rozhraním Ethernet. Může být užitečný v zařízeních inteligentní domácnosti

Aktuální seznam základních desek Arduino je uveden v tabulce. Většina z nich používá mikrokontroléry s jádrem AVR, ale najdeme mezi nimi také procesor firmy Intel a SAM21 s jádrem ARM Cortex-M0+. Zde stojí za zmínku, že v tabulce nejsou žádné desky vybavené procesory firmy Espressif Systems (například populární ESP8266), které je možné také naprogramovat pomocí Arduino IDE. Při výběru desky pro konkrétní použití je třeba se řídit možnostmi namontovaného na ní mikrokontroléru. Jednotlivé jednotky se liší velikostí dostupné paměti, rychlostí jádra a vybavenosti funkčními bloky, jako jsou: rozhraní, časovače, PWM generátory atd. Je také třeba věnovat pozornost výstupům desky, protože některé z nich nemají konektory, ale jsou určeny pro pájení.

Typ desky Arduino Typ procesoru IO / napájecí napětí [V] Taktovací frekvence CPU [MHz] Analogové vstupy / výstupy Digitální vstupy \ výstupy / počet PWM EEPROM [kB] SRAM [kB] Flash [kB] USB UART
LilyPad USB ATmega32U4 3,3/3,8…5 8 4/0 9/4 1 2,5 32 - Micro
Mega 2560 ATmega2560 5/7…12 16 16/0 54/15 4 8 256 Typ B 4
Micro ATmega32U4 5/7…12 16 12/0 20/7 1 2,5 32 Micro 1
MKR1000 SAMD21 Cortex-M0+ 3,3/5 48 7/1 8/4 - 32 256 Micro 1
Uno ATmega328P 5/7…12 16 6/0 14/6 1 2 32 Typ B 1
Zero ATSAMD21G18 3,3/7…12 48 6/1 14/10 - 32 256 2×Micro 2
Due ATSAM3X8E 3,3/7…12 84 12/2 54/12 - 96 512 2×Micro 4
Leonardo ATmega32U4 5/7…12 16 12/0 20/7 1 2,5 32 Micro 1
Nano ATmega168; ATmega328P 5/7…9 16 8/0 14/6 0.512; 1 1; 2 16; 32 Mini 1
MKRZero SAMD21 (Cortex-M0+) 3,3 48 7 (ADC 8/10/12 bit)/1 (DAC 10 bit) 22/12 - 32 kB 256 kB Ano 1
Yun Rev 2 ATmega32U4; Atheros AR9331 5; 3,3V 16; 400 12/0 20 1 2,5; 64 MB DDR2 32; 16 MB Ano 1
Uno WiFi Rev2 ATmega4808; Rádiový modul u-blox NINA-W102 5/7…12 16 6/0 14 0,256 6 48 Ano 1
Nano 33 IoT SAMD21 (Cortex-M0+) 3,3/3,6…21 48 8/1 14 - 32 256 Ano 1
Nano 33 BLE nRF52840 3,3/3,6…21 64 8/0 14 - 256 1MB Ano 1
Nano 33 BLE Sense nRF52840 3,3/3,6…21 64 8/0 14 - 256 1MB Ano 1
MKR1000 WiFi SAMD21 (Cortex-M0+) 3,3/5 48 7/1 8 - 32 256 Ano 1
MKR1010 WiFi SAMD21 (Cortex-M0+) 3,3/5 48 7/1 8 - 32 256 Ano 1
MKR Vidor 4000 SAMD21 (Cortex-M0+); FPGA Intel Cyclone 10CL016 3,3/5 48; 48…200 7/1; -/- 8; 22 - 32; 8MB SDRAM 256; 2MB Ano 1; 7
MKR Fox 1200 SAMD21 (Cortex-M0+); Rádiový modul Microchip Smart RF ATA8520 3,3/5 48 7/1 8 - 32 256 Ano 1
MKR GSM 1400 SAMD21 (Cortex-M0+); Rádiový modul u-blox SARA-U201 3,3/5 48 7/1 8 - 32 256 Ano 1
MKR NB 1500 SAMD21 (Cortex-M0+); Rádiový modul u-blox SARA-R410M-02B 3,3/5 48 7/1 8 - 32 256 Ano 1
MKR WAN 1310 SAMD21 (Cortex-M0+); Rádiový modul CMWX1ZZABZ 3,3/5 48 7/1 8 - 32 256 Ano 1
MKR WAN 1300 (LoRA Connectivity) SAMD21 (Cortex-M0+); Rádiový modul CMWX1ZZABZ 3,3/5 48 7/1 8 - 32 256 Ano 1
Portenta H7 STM32H747XI (Cortex-M7+M4); Rádiový modul Murata 1DX WiFi a Bluetooth 5.1 3,3/5 480 7/2 15/8 - 1MB 2MB Ano 4


Arduino Nano, Arduino Uno a jiné


Cenově dostupné desky a bezplatné vývojové prostředí Arduino jsou velmi dobrou alternativou k mnoha vyhodnocovacím platformám dostupným v obchodě a nabízeným např. výrobci mikrokontrolérů. Dostupnost dokumentace a otevřené zdroje umožňují samostatnou úpravu platformy a její přizpůsobení vlastním potřebám. Hotové desky Arduino jsou dostupné za přijatelnou cenu. Dobrým výchozím bodem pro začátečníky je Arduino Uno. Bylo vybaveno typickým USB konektorem, s jehož pomocí lze propojit desku s počítačem a snadno přenášet software jediným kliknutím. Mikrokontrolér ATmega328, jenž je namontovaný na desce, má dostatek paměti a hardwaru pro realizaci mnoha kontrolních a řídicích aplikací. Taktovací frekvence jádra činí 16 MHz, což poskytuje strojový cyklus s dobou trvání 62,5 ns a jádro AVR použité v mikrokontroléru provádí většinu pokynů v jednom strojovém cyklu. Postupným získáváním zkušeností a praxe můžete volit i jiné varianty jako jsou např. Arduino Due, Mega 2560 a jiné. Rozhodně stojí za to věnovat pozornost zejména modelu Arduino Nano, což je miniaturizovaná verze větších systémů, která neobsahuje např. stabilizátor napětí a plnohodnotný port USB. Arduino Nano je však vybaveno stejným, 8bitovým procesorem, stejně jako deska Uno, avšak v působivě zmenšené velikosti. V případě řady Nano je rozměr PCB 18 mm krát 45 mm! Důležité je, že navzdory změně hardwaru stále používáte stejné vývojové prostředí.

Mikrokontrolér je obvykle programován pomocí rozhraní USB. Pro správnou spolupráci rozhraní USB Arduino s používaným operačním systémem, je nutný vhodný ovladač, který bude nainstalován operačním systémem po připojení desky a přihlášení startovacího softwaru mikrokontroléru, takzvaného bootloaderu. Původně bylo Arduino IDE napsáno pro Windows, proto je většina bootloaderů dostupná pro Windows, a jen některé z nich jsou přizpůsobeny pro jiné operační systémy. Při práci na počítači vybaveném MacOS nebo Linuxem určité stojí za to před rozhodnutím o koupi základní desky Arduino zkontrolovat, zda je kompatibilní se systémem, který používáte.


Fot. 4. Arduino Uno R3 doporučujeme pro začátečníky.

Nakonec stojí za zmínku webové stránky uživatelů Arduino, které jsou dostupné na adrese https://www.arduino.cc/. Najdete zde aktuální verze programů, mnoho aplikací, uživatelské fórum a znalostní bázi. Jsou zde také dostupná schémata a elektrické parametry desek Arduino, popisy a specifikace parametrů, včetně popisu Arduino Uno R3 (foto 4), které je doporučováno pro začátečníky. V naší nabídce naleznete mnoho rozšiřujících modulů a spousta příkladů aplikací je k dispozici na jiných webových stránkách. Můžete je nalézt pomocí vyhledávačů nebo diskusních skupin věnovaných programování a elektronice.

Originální článek najdete na tme.eu

Upozornění

Administrátor těchto stránek ani autor článků neručí za správnost a funkčnost zde uvedených materiálů.
Administrátor těchto stránek se zříká jakékoli odpovědnosti za případné ublížení na zdraví či poškození nebo zničení majetku v důsledku elektrického proudu, chybnosti schémat nebo i teoretické výuky. Je zakázané používat zařízení, která jsou v rozporu s právními předpisy ČR či EU.
Předkládané informace a zapojení jsou zveřejněny bez ohledu na případné patenty třetích osob. Nároky na odškodnění na základě změn, chyb nebo vynechání jsou zásadně vyloučeny. Všechny registrované nebo jiné obchodní známky zde použité jsou majetkem jejich vlastníků. Uvedením nejsou zpochybněna z toho vyplývající vlastnická práva.
Nezodpovídáme za pravost předkládaných materiálů třetími osobami a jejich původ.
10,623,446 návštěv