Lekce 3 - Seznámení s Tinkercad a Arduino IDE
V minulé lekci, Instalace Arduino IDE a Tinkercad, jsme si nainstalovali a zprovoznili vývojová prostředí pro Arduino.
V tomto tutoriálu programovacího jazyku pro Arduino si povíme více o samotných vývojářských nástrojích a ukážeme si některé základní funkce. Naprogramujeme si také první program.
Základní funkce v Tinkercadu
Uživatelské rozhraní samo o sobě je poměrně jednoduché a dá se v něm opravdu snadno orientovat. Při prvním spuštění Tinkercadu jsme si založili první projekt obvodu. Nyní si vysvětlíme jednotlivé části, které můžeme na obrazovce vidět:

Předně zde uvidíme název projektu. Ten lze snadno změnit. Stačí kliknout a přepsat. Dále jsou k dispozici editace, což jsou běžné nástroje, které najdeme v každém editoru:
- kopírovat (Ctrl + C),
- vložit (Ctrl + V),
- smazat (Delete),
- krok zpět (Ctrl + Z),
- vrátit krok zpět (Ctrl + Y).
Následují poznámky, které si můžeme vkládat do projektu (N). Někdy je dobré vědět, co jsme tou kterou akcí mysleli i po delší době. Samozřejmě, že zobrazení poznámek je možné vypnout a zpětně zapnout (Shift + N). Další položkou jsou barvy, kde si lze zvolit barvu vodiče a dokonce i jeho typ. Na závěr nám aplikace umožní jednotlivé součástky podle potřeby otáčet (R) nebo zrcadlit (M).
Přesuneme se na obrazovce zcela vpravo, kde se nacházejí další možnosti editoru:

Předně je zde fyzické zobrazení obvodu, které bývá zapnuto defaultně. Tlačítko vedle přepne na schématický pohled. Schéma je trochu neumně generováno ze zapojení. Čitelné ale je a je možné si jej stáhnout jako PDF. Poslední možností je zobrazení tabulky použitých součástek, včetně jejich parametrů.
Druhý řádek nabízí několik dalších schopností Tinkercadu. Předně přepnutí do editoru zdrojového kódu. Dokonce si můžeme nastavit typ programování (text, bloky nebo text + bloky). My budeme primárně používat samostatný text. Dále se zde nachází tlačítka pro spuštění simulace a sdílení našeho projektu.
Předposlední a dosti podstatnou část tvoří výběr součástek:

Můžeme je přepínat ze základní nabídky do úplné a zpět. Výběr zde funguje snadno, postačí součástku označit myší a poté myš přesunout na pracovní plochu editoru. Hned za kurzorem bude zvolená součástka, kterou umístíme na vhodné místo a dalším kliknutím potvrdíme pozici. Najdeme zde i desku Arduino Uno, případně několik již hotových zapojení. Tady si budeme vybírat veškeré senzory, součástky a komponenty.
Poslední je pracovní plocha editoru, kde jednotlivé součástky budeme zapojovat. Ukázkové zapojení si můžete přímo zobrazit a spustit:

To byl základní popis editoru Tinkercad, později si vysvětlíme i některé další funkce, které budou potřeba k tomu, abychom mohli začít pracovat s hardwarem samotným.
Arduino IDE
Nyní si rozebereme a podrobněji vysvětlíme nejdůležitější funkce
Arduino IDE. Naučíme se, jak se v nich spolehlivě orientovat. Po spuštění
prostředí uvidíme dvě základní funkce - setup()
a
loop()
:
void setup() { // put your setup code here, to run once: } void loop() { // put your main code here, to run repeatedly: }
U funkcí v Arduinu uvádíme návratový typ. V našem případě jsou obě
označeny klíčovým void
, což znamená, že žádnou hodnotu
nevracejí.
Funkce setup()
má jednu velmi důležitou vlastnost - vše, co
do ní napíšeme, se spustí pouze jednou na začátku programu. Proto je
vhodná pro inicializaci komponent (jelikož je stačí v
programu registrovat jen jednou). Názorný příklad inicializace si ukážeme
později.
Funkce loop()
, jak název napovídá, neběží pouze jednou,
ale opakuje se neustále. Objektivně je tato funkce mnohem
zajímavější, protože v ní většinou probíhají veškeré hlavní funkce
programu. Když funkce loop()
dosáhne svého konce, začne znovu
od začátku. Vlastně tvoří nekonečnou smyčku - alespoň do doby, než ji
uživatel zastaví.
Je důležité vědět, že program se provádí po "lince", tudíž po jednotlivých instrukcích od začátku do konce.
Menu aplikace
Přejděme nyní k základním funkcím Arduina IDE. V levém horním rohu nalezneme na horní liště pod názvem projektu několik klíčových slov - File, Edit, Sketch, Tools a Help. Po instalaci je aplikace v angličtině.
Jako první si ukážeme, co se nachází pod záložkou File (Soubor). Každý, kdo pracoval v nějakém editoru, tyto funkce určitě zná. Můžeme vytvořit nový soubor, otevřít nějaký z našich předchozích projektů, nebo uložit ten stávající. Přepnutí celého IDE do češtiny je zde možné kliknutím na Preferences a následně v položce Language je k dispozici možnost Czech.
Zajímavá je záložka Examples (Příklady), která dokáže vytvořit nový "sketch" s přednastaveným programem, který většinou demonstruje nějakou funkci nebo funkčnost komponenty:

Záložku Edit (Úpravy) můžeme pro začátek úplně přeskočit - není v ní totiž nic, bez čeho bychom se neobešli.
Záložka Sketch (Projekt) je pro nás poměrně důležitá. To z toho důvodu, že díky ní lze přidat knihovnu:

Jelikož jsme se s knihovnami ještě nesetkali, krátce a jednoduše si vysvětlíme, co to vlastně je a proč je to důležité. Později se knihovnami budeme zabývat podrobněji.
Arduino knihovna by se vlastně dala definovat jako soubor funkcí, které nám usnadňují programování určitých komponent a jiných funkcí.
Začneme úplně od začátku, možnost Include Library (vložit knihovnu) je velice užitečná, protože nás přesměruje do manažera knihoven. Přímo lze tento manažer nalézt v nabídce nástrojů. Zde si můžeme vyhledat, nainstalovat nebo použít knihovnu, která je již obsažena v Arduinu IDE.
Pokud manažer knihoven zrovna tu námi požadovanou neobsahuje a ani ji nelze instalovat, můžeme zvolit možnost Add .ZIP Library. Tyto knihovny musíme stáhnout manuálně, například přes webový prohlížeč, a poté je vložit do Arduino IDE. Není to nic těžkého a je tím zajištěno, že uživatel má přístup ke všem knihovnám, které právě potřebuje (pokud tedy někde existují). Několik knihoven je již od počátku připraveno k použití.
Další v nabídce jsou Tools (Nástroje). Kromě možnosti archivace projektu a dalšího spravování knihoven zde máme k dispozici sériový monitor. Ten budeme používat prakticky u každého projektu.
Sériový monitor slouží jako výstup komunikace Arduina s počítačem, případně také dvou Arduin. Jde o softwarový displej, který je schopen zobrazit informace a vztahy mezi Arduinem a dalším zařízením. Později si ukážeme jak se ním pracuje.
Pod hlavní nabídkou se nachází ještě několik ovládacích prvků:

Velice používaná záložka je Výběr desky. Zde si vybíráme model Arduina, který budeme programovat. Základní informace o deskách pro Arduino jsme si probrali v lekci Seznámení s Arduinem.
První program
Pro vyzkoušení tohoto programu je nutné mít fyzicky připojený mikrokontrolér k některému z USB portů v počítači. Naším prvním příkladem bude výpis ikonické fráze "Hello World!" na sériovém monitoru.
Program je velice krátký. Uvedeme si jej celý a postupně ho rozebereme:
void setup() { Serial.begin(9600); } void loop() { Serial.println("Hello World!"); delay(1500); }
Hned v prvním řádku programu můžeme vidět funkci setup()
.
Jak jsme si už říkali, provádí se pouze jednou a hodí se na inicializaci
komponent - přesně to tedy uděláme!
Funkce Serial.begin()
inicializuje sériový monitor a zařídí
jeho spolupráci. Číslo v závorce (v našem případě 9600
) je
tzv. Baudová rychlost. Jednoduše udává, v jakém intervalu se budou
informace sériovém monitoru zobrazovat.
Možností je mnohem více, ale 9600
je ve
většině případů doporučená rychlost pro Arduino.
Příkaz zakončíme středníkem, ostatně jako všechny příkazy.
Následuje funkce loop()
. Funkce je kořenem programu a opakuje
se pořád dokola.
Pro náš účel použijeme funkci Serial.println()
, který
zobrazuje na sériovém monitoru všechno, co je obsaženo v kulatých
závorkách mezi uvozovkami.
Šlo by také použít velice podobnou funkci
Serial.print()
, poté by však text nebyl při opakování
odřádkovaný.
Pod zobrazením informací na monitoru je funkce delay()
, která
zařídí časový rozestup mezi jednotlivým opakováním cyklu
loop()
. Použili jsme hodnotu 1500
, která udává
čas v milisekundách (v přepočtu 1,5 sekundy).
Program je hotový a můžeme ho spustit. Tlačítko ke kompilaci a spuštění je na obrázku výše. Po nahrání otevřeme sériový monitor. Na něm se každých 1,5 sekundy vypíše “Hello World!”:

Pokud nemáme Arduino fyzicky, můžeme vyzkoušet verzi "Hello World" v Tinkercadu. A pokud v ní při spuštění simulace klineme na tlačítko kód, zobrazí se i sériový monitor.
To je všechno ke stručnému úvodu do vývojových prostředí. Jednalo se skutečně pouze základní funkce. Postupem času budeme objevovat spoustu dalších zajímavostí.
V následujícím kvízu, Kvíz - Úvod do programování Arduina - Vývojářské nástroje, si vyzkoušíme nabyté zkušenosti z předchozích lekcí.