IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Lekce 1 - Seznámení s Arduinem

Vítejte u prvního tutoriálu kurzu o programování mikrokontroleru Arduino. Kurz je určen pro úplné začátečníky a v jeho průběhu se naučíme programovat v jazyce Wiring, který je frameworkem jazyka C++. Tyto znalosti se nám pak budou hodit k programování různého hardwaru, jako jsou například displeje, motory, různé senzory, a další komponenty Arduina. Naučíme se, jak pomocí Arduina tento hardware ovládat, například rozsvítit diodu, zapnout či vypnout motůrek, nebo načíst a zpracovat hodnotu ze senzoru. Konkrétní praktické aplikace jsou v našem navazujícím kurzu Arduino - Hardware.

Minimální požadavky kurzu

Pro úspěšné zvládnutí tohoto kurzu nebudeme potřebovat nějaké speciální znalosti. Vše si probereme od úplného začátku. Výhodou je nicméně alespoň základní znalost libovolného programovacího jazyka (nejlépe z rodiny C) a elementární práce s hardwarem. Skutečně potřebujeme pouze vědět, co je napětí 5V, že GND je uzemnění, a jak správně propojit drátem dvě součástky.

Co je vlastně Arduino?

Arduino je mikropočítač, který je schopný provádět logické, aritmetické a další operace. Z řad nejrůznějších mikrokontrolerů je asi nejznámější, nejrozšířenější, a také se s ním, dle mnohých praktiků, nejlépe pracuje. Velkou výhodou mikropočítačů je to, že dělají pouze a přesně to, co chce uživatel - nemají žádné předem pevně definované funkce. Vše závisí na tom, jak mikrokontroler naprogramujeme, případně jaké komponenty se rozhodneme využít. Komponent, které jsou kompatibilní s Arduinem, je opravdu mnoho. V rámci tohoto tutoriálu si jich několik prakticky ukážeme a naučíme se s nimi pracovat.

Arduino bylo poprvé představeno roku 2005 v Itálii ve městě Ivrea jako levné řešení pro studenty technologií. Rychle se rozšířilo. Hlavními vývojáři Arduina jsou Massimo Banzi, David Cuartielles, Tom Igoe, Gianluca Martino, David Mellis a Nicholas Zambetti. V Itálii jsou také nejčastěji pořádány vývojářské konference.

Arduino není Raspberry Pi

Raspberry Pi, které může na první pohled vypadat, že je Arduinu poměrně blízké, je ve skutečnosti úplně odlišné zařízení. Je to zcela funkční počítač, zatímco Arduino je pouze návrhářská deska s mikroprocesorem. Zvládne toho hodně, ale Linux na něm nainstalovat nepůjde, stejně jako nedokáže zobrazovat webové stránky. Stručně řečeno, jako počítač se Arduino použít nedá, je o úroveň níže. Ve své specializaci, kterou je ovládání připojeného hardwaru, je ale vynikající.

Co Arduino umí

Možnosti Arduina jsou omezené jen představivostí (u některých modelů také počtem pinů :-D). Deska samotná toho moc neposkytne, ale jakmile začneme připojovat součástky, využití rapidně stoupá - ovládání domu přes internet, zalévání rostlin během sucha, alarm s voláním na mobil, dokáže ovládat prakticky cokoliv, co umí reagovat na povel. Výhodou je velká komunita uživatelů, ať už jako zdroj inspirace, či případné rady s vlastním projektem.

Arduino modely

Pod názvem Arduino je mnoho variant modelů. Jejich seznam najdeme na stránkách Arduina. Další neustále přibývají. Mezi nejznámější a nejpoužívanější vývojové desky se řadí Arduino Uno, ať už originál Rev. 3, nebo jakýkoliv z jeho klonů. Tento typ Arduina budeme používat v kurzu. Z dalších modelů stojí za zmínku Arduino Mega a Mega 2560. To jsou větší a robustnější varianty Arduina UNO. Hodí se spíše pro větší projekty díky tomu, že mají více vstupních a výstupních pinů. Na druhé straně škály je model Arduino Nano, který je naopak vhodný pro menší projekty. Je dobře skladný, levný, avšak postrádá počet pinů jeho větších bratří. Taková anomálie mezi Arduiny je Lilypad, který je velice specifický v tom, že se používá jako součást nejrůznějšího oblečení - například elektronické reflexní vesty pro cyklisty.

Arduino Nano

Arduino Nano je nejmenší dostupná deska. Jeho výhodou je právě velikost - hodí se pro aplikace a projekty, které je třeba udržet malé, případně napasovat do předem určených rozměrů:

Model Nano - Arduino - Programovací jazyk

Arduino UNO

Arduino UNO je dle samotných tvůrců nejlepší deska pro začátečníky. Je obecně také nejpoužívanější a je k ní dostupná také nejširší dokumentace:

Model UNO - Arduino - Programovací jazyk

Arduino Mega 2560

Hlavní výhodou tohoto modelu je 8x větší paměť, než 32 kB modelu Uno. Arduino Mega 2560 má také 4x větší SRAM (8kB) než Uno:

Model Mega 2560 - Arduino - Programovací jazyk

Arduino Lilypad

Arduino LilyPad je určené pro projekty e-textilií a nositelných zařízení, například reflexních vest, fitness oblečení a dalších:

Model LilyPad - Arduino - Programovací jazyk

Shieldy

Shieldy jsou rozšiřující moduly, které se na Arduino pouze nasadí. Existuje jich celá řada - Ethernet Shield, Wifi Shield, GSM Shield (pro použití se SIM), Bluetooth Shield, Sensor Shield, Motor Driver Shield a další. Na obrázku níže máme Ethernet Shield:

Arduino UNO s Ethernet Shieldem - Arduino - Programovací jazyk

Většina Shieldů existuje také jako moduly, které se jen připojí pomocí pár kablíků, ale obvykle nemají takové možnosti:

Arduino UNO Ehernet Module - Arduino - Programovací jazyk

Kromě Shieldů a modulů existují i další periférie, třeba senzor pohybu, teplotní čidlo, klávesnice, hodinový modul pro čas, bluetooth, slot na SD kartu či LCD display.

Představení desky

Než se pustíme do konkrétní práce, představíme si podrobněji desku Arduina MEGA:

Arduino MEGA popis - Arduino - Programovací jazyk
  1. USB - USB kabel budeme připojovat do jediného portu.
  2. Napájecí jack - Dalším konektorem je napájecí jack. Je schopný pracovat s napětím od 6 V do 20 V, ale doporučuje se mezi 7 V a 12 V. Při překročení 12 V může dojít k přehřátí, pod 7 V zase nemusí být vše stabilní.
  3. Resetovací tlačítko - Dále se zde nachází resetovací tlačítko. To program spustí znovu a vymaže hodnoty v proměnných (funguje to stejně, jako když resetujeme klasický počítač).
  4. Mikroprocesor ATMega 2560 - Uprostřed desce dominuje její hlavní část - Mikroprocesor ATMega 2560. Ten si tady podrobně popisovat nebudeme, prozatím nám stačí vědět, že tam je.
  5. Integrovaná LED dioda - LED dioda L, která je napojena na pin 13. Pod ní jsou diody TX a RX, indikující komunikaci na sériové lince. Na desce se nachází ještě jedna dioda - napájení. Na rozdíl od těchto žlutých, svítí zeleně. Umístěna je nad tlačítkem reset.
  6. ICSP konektor - Vedle procesoru je ICSP konektor, kterým je možné také přistupovat k procesoru, ovšem jsou zde možné pokročilejší úpravy.
  7. Podobný ICSP konektor - Dále je tu ještě jeden podobný konektor. Ten se nachází jen na modelech MEGA a nabízí nám možnost přeprogramovat převodník sériového portu, aby se tvářil jako třeba myš. Pak už nám zbývají jen piny.
  8. Napájení - Lištička s číslem 8 je napájení. Zprava obsahuje piny, pin pro vstupní napětí nahrazuje jack konektor. Poté jsou tu dva piny GND, na které budeme připojovat zem. Poté jsou tu 5V a 3.3V, oba výstupní. Pak už nás z této části zajímá jen pin reset, který plní stejnou funkci, jako resetovací tlačítko.
  9. Rozmístění analogových pinů - Lišta obsahuje analogové piny, které slouží jako vstupní a vrací hodnotu mezi 0-1023. Pokud připojíme potenciometr, tak se bude hodnota měnit, jak s ním budeme otáčet.
  10. Základní piny - Máme zde ještě základní piny 2-13 a další GND. Piny 0 a 1 sice mohou být použity také, ale je na nich sériová linka, takže při každém jejich použití musíme příslušenství odpojit.
  11. Sériové linky - Desky MEGA mají navíc několik dalších sériových linek. Na obrázku je najdeme pod číslem 11. Hodí se třeba pro komunikaci s Bluetooth nebo jinými deskami.
  12. Další piny - MEGA jsou také rozšířeny o další lištičku pinů, kterých je až do 53. Ta navazuje na předchozí lištičky 10 a 11 a obsahuje další dva GND. Pinů je zde více, jen je nyní nebudeme potřebovat. Představíme si je, až na ně přijde řada.

Musíme vždy dávat pozor na to, co připojujeme. Každý pin je schopen zátěže jen do 20mA, chvilkově až 40mA.

Při překročení limitu v lepším případě zničíme pin, v horším celou desku. Proto se při náročnějších obvodech používají tranzistory, ale o nich později.

Kde Arduino sehnat?

V ČR se dají klasické Arduino i jeho klony a různé modely koupit naprosto běžně na mnoha e-shopech. Je vhodné současně s ním zakoupit také propojovací konektor, nepájivé pole a větší množství kabelů (Dupont Arduino kabely). Samozřejmě je vše dostupné i na Ebay, případně na Aliexpressu.

Jak se s Arduinem zachází?

Zapojení Arduina je jednodušší, než bychom čekali. Když naše Arduino pomocí USB konektoru propojíme s počítačem, jsme vlastně připraveni programovat. K programování ovšem potřebujeme také k tomu určené prostředí, které bude předmětem další lekce.

V přístí lekci, Instalace Arduino IDE a Tinkercad, si nainstalujeme a zprovozníme vývojová prostředí pro Arduino.


 

Všechny články v sekci
Arduino - Programovací jazyk
Přeskočit článek
(nedoporučujeme)
Instalace Arduino IDE a Tinkercad
Článek pro vás napsal Adam Ježek
Avatar
Uživatelské hodnocení:
265 hlasů
Autor se převážně věnuje Arduinu a psaní tutoriálů z této oblasti, občas napíše příležitostně nějakou tu zprávičku. Většinu svého volného času momentálně věnuje Linuxu a/nebo Raspberry Pi. Také umí C#, HTML, CSS, PHP a Python.
Aktivity