Close

TinyLab: Nezbytný základ

Arduino Kit TinyLab All-in-one

Už jsme tu měli několik článků, které se věnovaly Arduino kitu TinyLab. Ty ale většinou předpokládaly alespoň základní znalost platformy Arduino, vývojového prostředí apod. Dnešní článek bude věnován těm uživatelům, kteří nemají s programováním žádnou zkušenost a TinyLab si pořídili, protože s programováním chtějí teprve začít. Stručně si kit představíme, ukážeme si, jak se do něj nahrávají programy a také se odkážeme na zdroje k dalšímu studiu.

Co je TinyLab

Popisu TinyLab se věnoval samostatný článek, představíme si proto tuto desku jen ve stručnosti. Jedná se o Arduino Leonardo, ke kterému je ale „přilepeno“ spoustu dalších komponent. Deska Leonardo je na TinyLab symbolicky naznačená bílou linií. Zachované jsou také patice pro zasunutí různých rozšíření – takzvaných shieldů. Zajímavý je také prostor určený pro vložení a nalepení malého nepájivého kontaktního pole pro rychlé prototypování, což se občas dost hodí.

Z komponent na desce můžeme jmenovat například LED, LCD displej, sedmisegmentový displej, potenciometr, snímač teploty nebo osvětlení a další. Aby nebylo Arduino připojenými komponentami „přehlceno“, popřípadě aby tyto komponenty nenarušovaly komunikaci s případnými připojenými shieldy, je možné komponenty pomocí spínačů na desce podle potřeby připojovat a odpojovat (na obrázku jsou spínače červené). Jednotlivé spínače jsou umístěny naproti příslušného signálu. Pokud je daný spínač rozepnut, tak je možné signál využít pro vlastní potřebu (např. pro připojený Arduino Shieldu). Pokud ale chcete využít určitý prvek na desce TinyLab, tak musíte dát daný spínač do polohy ON.

Napájení Arduino desky a všech periferií zajišťuje výkonný spínaný zdroj, který je schopen na napájecím napětí 5 V dodat až 3 A. Desku TinyLab můžete použít i pro napájení dalších periferií nebo hardware. Navíc je zdroj vybaven ochranou proti zkratu, což se pro různé bastlení hodí.

Arduino kit TinyLab komponenty

Komponenty

Kam jsou všechny ty periferie připojeny je dobře vidět z blokového diagramu Tinylab. Podrobnosti ohledně zapojení desky TinyLab naleznete ve schématu zapojení.

Příprava prostředí

Arduino se běžně programuje v prostředí Arduino IDE. To je sice některými pokročilejšími uživateli opovrhované řešení, ale pro začátek naprosto dostačující. Arduino IDE je možné stáhnout zde. Poměrně novou možností je online vývojové prostředí. Programování pak probíhá prostřednictvím prohlížeče. Tuto možnost ale nyní nevyužijeme a stáhneme si aplikaci do počítače. Zde nás čeká nepříjemná komplikace, protože některé programy, které TinyLab využívá, nejsou kompatibilní s nejnovější verzí Arduino IDE. Proto zde stáhneme starší verzi IDE 1.6.8. Zvolte verzi podle vašeho operačního systému a stáhněte ji. Poté Arduino IDE spusťte. Mělo by se vám objevit okno, jaké vidíte níže. Hlavní část okna je určená pro psaní kódu. Ve spodní černé části, se zobrazují různé hlášky, například při nahrávání programu do Arduina apod.

Arduino IDE

Arduino IDE

První připojení

Vezmeme USB kabel, který je v balení, a propojíme jím desku s počítačem. Měla by se rozsvítit žlutá kontrolka vedle USB konektoru na desce.

TinyLab - Indikátor napájení

Indikátor napájení

Nyní v Arduino IDE otevřeme nabídku Tools a v ní menu Boards, ve kterém vybereme desku Arduino Leonardo. V nabídce Tools/Port potom zvolíme port, ke kterému je Arudino připojeno – poznáme ho mimo jiné podle toho, že po odpojení Arduina od USB konektoru port z nabídky zmizí.

Nyní je vše připravené pro nahrání prvního testovacího programu. V něm si zablikáme LEDkou.

Blikáme LEDkou

Arduino IDE obsahuje při stažení řadu ukázkových příkladů. V menu File/Examples/01.Basics vybereme příklad Blink, který slouží právě k blikání LED. Program vypadá následovně:

void setup() {
 pinMode(LED_BUILTIN, OUTPUT);
}
void loop() {
 digitalWrite(LED_BUILTIN, HIGH);
 delay(1000);                    
 digitalWrite(LED_BUILTIN, LOW); 
 delay(1000);                    
}

Nebudeme si ho podrobně rozebírat. Pokud chcete vědět, co která část znamená, odkáži vás na své články o programování Arduina.

TinyLab - Příklad Blink - blikání LED

Příklad Blink – blikání LED

Před nahráním ještě přepneme přepínač u pinu 13, který je na desce TinyLab označený číslem 5, do polohy ON. Také přepneme všechny tři spínače, které nalezneme pod sedmisegmentovým displejem do polohy To Control LEDs.

Arduino TinyLab - Přepínač pro pin 13

Přepínač pro pin 13

Nyní stiskneme tlačítko upload a program se nahraje do desky.

Arduino IDE - Tlačítko Upload

Tlačítko Upload

LED v levém dolním rohu by nyní měla blikat.

Přidání potřebných knihoven

Abychom mohli využít celý potenciál desky TinyLab, musíme nyní prostředí „naučit“ používat různé komponenty.

Například ovládání LCD displeje by nebylo úplně jednoduché. Zároveň se ale jedná o poměrně často využívanou komponentu. Co s tím? Pro takovéto komponenty proto vznikají tzv. knihovny – balíky kódu, které slouží pro jejich snadné ovládání. Některé knihovny jsou již součástí Arduino IDE, ale ne všechny. Ty chybějící si proto nyní doplníme.

TinyLab GitHub

GitHub je zjednodušeně řečeno server, který slouží ke sdílení kódu mezi uživateli. Na něm nalezneme všechen potřebný software pro ovládání komponent na desce TinyLab a také ukázkové příklady. Na GitHub klikněte na tlačítko Clone or download a poté na Download ZIP. Stáhne se ZIP archiv, který obsahuje několik složek. Nyní nás bude zajímat složka libraries. Ta obsahuje další složky, například RF24Time a další. Tyto složky přesuneme do složky Libraries v místě, které jsme zvolili pro ukládání Arduino programů při instalaci IDE. Tato složka se dá najít také v nastavení Arduino IDE v položce Soubor/Vlastnosti/Nastavení/Umístění projektů. Typicky například C:/Users/jmeno/Documents/Arduino. Knihovny TinyLab tedy kopírujeme do složky Libraries ve složce Arduino.

Do složky Arduino můžeme nahrát také příklady pro Tinylab, tedy služku example_codes. Tyto Arduino příklady slouží pro podrobnější demonstraci práce s jednotlivými periferiemi a jsou rozděleny podle zkušenosti bastlíře na tři další podadresáře (Basic, Medium, Advanced). Dalšími příklady a Arduino programováním se budeme zabývat v pokračování seriálu o Arduino kitu TinyLab.

Testovací program

ZIP archiv obsahuje také složku test_code, ve které nalezneme programy sloužící pro otestování jednotlivých komponent TinyLab. Tento program je také standardně nahrán v nové desce TinyLab. Složku test_code můžete také zkopírovat do složky Arduino. Otevřeme si nyní program test_code/tinylab_test_code a nahrajeme ho do desky (testovací program najdete v položce Soubor/Projekty). Všechny spínače přepneme do polohy ON a desku restartujeme tlačítkem Reset vedle USB portu. Nyní by se měl rozsvítit LCD displej a na něm zobrazit nápis „LCD -> OK“ a „-> S1“.

Pokud nápis nevidíte, je to pravděpodobně způsobeno nevhodně nastaveným kontrastem LCD. Ten je možné upravit pomocí trimru pod LCD displejem, který je označený LCD contrast. Pomocí malého křížového šroubováku zkuste opatrně potenciometrem otáčet a uvidíte, jak se jas mění.

Pokud se vám již nápis zobrazil správně, můžete tlačítkem S1 přepínat mezi testováním jednotlivých komponent a podle pokynů na displeji provádět jednotlivé testy. U SD karty, ESP8266 a NRF se na displeji zobrazí FAILED. To je v pořádku, pokud tyto komponenty nemáte připojené.

Závěr

To by bylo do začátku vše. Pokud se chcete o TinyLab dozvědět více, podívejte se na seriál článků o něm. Pokud vás zajímá programování Arduina, podívejte se sem.

Zbyšek Voda

Zbyšek Voda

Už nějaký čas se zajímám o věci kolem Internetu věcí a otevřeného hardware a software. Tak jsem se také v roce 2010 dostal k Arduinu, pro které dodnes programuji a taky píšu články o práci s ním. Baví mě vymýšlet, jak staré věci používat novým způsobem.
Zbyšek Voda

Napsat komentář