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

Menu úprav - Arduino - Programovací jazyk

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:

Nabídka zobrazení - Arduino - Programovací jazyk

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:

Výběr součástek - Arduino - Programovací jazyk

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:

Tinkercad NF Generátor - Arduino - Programovací jazyk

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:

Nabídka soubor - Arduino - Programovací jazyk

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:

Nabídka projekt - Arduino - Programovací jazyk

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ů:

Ovládací prvky - Arduino - Programovací jazyk

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!”:

Sériový monitor Tinkercadu - Arduino - Programovací jazyk

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í.


 

Předchozí článek
Instalace Arduino IDE a Tinkercad
Všechny články v sekci
Arduino - Programovací jazyk
Přeskočit článek
(nedoporučujeme)
Kvíz - Úvod do programování Arduina - Vývojářské nástroje
Článek pro vás napsal Adam Ježek
Avatar
Uživatelské hodnocení:
237 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