Close

Programujeme Arduino

Rozložení desky Arduino UNO

V minulém díle jste se mohli dozvědět něco o historii Arduina. Také jsme si ukázali desky z oficiální řady a zmínili jsme i existenci shieldů. V závěru článku přišla řeč na neoficiální klony. Dnes už se tedy můžeme pustit do praktického použití. Na začátku si vybereme vhodné Arduino a na něm si ukážeme, co všechno se dá na desce najít. Řekneme si něco o programovacím jazyku a o vývojovém prostředí pro Arduino. Na závěr si vyzkoušíme první program, který bude blikat LED diodou.

 

Výběr a seznámení

Před tím, než začneme s Arduinem pracovat si musíme nějaký vhodný model vybrat. Pokud jsou cílem co nejmenší výrobky, bude nejlepší sáhnout po nějaké z menších desek (Mini, Nano, Micro). Pokud však hledáte velmi výkonné modely, které zastanou méně výkonné počítače. Těmito modely jsou například DUE, či Intel Galileo. Zlatou střední cestou jsou modely Uno a Mega 2560. Pro jednoduché zkoušení zapojení a nenáročných modulů je Uno plně dostačující. Na něj je také designována většina shieldů. Arduino Mega 2560 na druhou stranu nabídne daleko více vstupních a výstupních pinů. Vyberme si tedy pro účel následujícího popisu model Arduino Uno. Níže zmíněné části najdeme v různých obměnách na většině desek.

Rozložení desky Arduino UNO

Arduino UNO

  1. Pod číslem jedna se skrývá resetovací tlačítko. To použijeme, pokud chceme náš program spustit znovu od začátku. U různých typů Arduina se můžeme setkat i s jiným umístěním tohoto tlačítka. Většinou je ale toto tlačítko popsané nápisem RESET.
  2. USB konektor typu B. U nejstaršího modelu najdeme místo USB sériový port. U některých novějších modelů se setkáme s micro USB. Na některých deskách ho vůbec nenajdeme, protože mají buď jiný způsob připojení (Ethernet, BT), nebo pro programování vyžadují připojení externího programátoru.
  3. Napájecí konektor. Využijeme ho, pokud nebudeme Arduino napájet z USB.
  4. ICSP hlavice pro externí programování USB-serial převodníku. Běžný uživatel ji nepoužije. U verzí bez převodníku, nebo s převodníkem obsaženým v hlavním čipu ji nenajdeme.
  5. USB-serial převodník. Ten se stará o komunikaci mezi hlavním čipem a PC. Plní zde roli překladatele. U verzí bez převodníku, nebo s převodníkem obsaženým v hlavním čipu ho nenajdeme.
  6. Indikační LED diody L, Rx a Tx. Dioda s popisem L je často využívaná. Je totiž připojená k výstupu č. 13. S ní se tedy dá vyzkoušet blikání i bez připojené externí LEDky. Některá Arduina ji však vůbec neobsahují. Diody s popisem Tx a Rx blikají, pokud probíhá komunikace přes sériovou linku.
  7. Hlavní čip celé desky. V různých podobách a typech ho najdeme na všech deskách.
  8. Indikační LED dioda ON. Svítí, když je připojené napájení.
  9. ICSP hlavice pro externí programování hlavního čipu. Využívají ji některé shieldy.
  10. Digitální piny. Do těchto zdířek budeme připojovat všemožné obvody. Vývody označené vlnovkou podporují PWM modulaci, o které si povíme později.
  11. Převážně napájecí výstupy Arduina.
  12. Analogové vstupy. Sem připojíme vodiče, na kterých budeme chtít měřit nějakou analogovou hodnotu. Dají se využít i jako digitální vstupy a výstupy.

 

Arduino IDE

Historie

Arduino IDE (integrated development enviroment = integrované vývojové prostředí) je napsané v jazyce Java. Jedná se o software vzniklý z výukového prostředí Processing. To bylo mírně upraveno, byly přidané určité funkce a v neposlední řadě podpora jazyka Wiring.

 

Stažení a instalace

Arduino IDE si můžeme stáhnout zde[en]. V této době je poslední verzí Arduino 1.0.5 (1.5 je stále ve verzi Beta). Najdeme si tedy na poslední finální verzi a stáhneme ji pro požadovaný operační systém. Pro Windows je nejjednodušší stáhnout si ZIP archiv, který je po rozbalení plně funkční. Pro Linux se instalace může lišit i podle distribucí. Popis pro jednotlivé distribuce nalezneme zde[en]. Musíme také zmínit další velký operační systém, jímž je Mac OS. Návod na instalaci nalezneme zde[en]. Následující část článku se bude věnovat použití Arduina s operačním systémem Windows. Předpokládejme, že máme stažený ZIP archiv verze 1.0.5. Vybereme si složku, ve které chceme mít software pro Arduino a zde archiv rozbalíme. Po rozbalení obsahuje další složky a soubory. Složka Drivers obsahuje ovladače pro komunikaci Arduina s PC. V Examples nalezneme příklady kódů. Důležitou složkou je složka Libraries, kam se ukládají knihovny. To jsou balíky obsahující rozšiřující funkce pro programování. Ještě než si IDE spustíme si vytvoříme v uživatelské složce Dokumenty složku Arduino. Tuto složku většinou nalezneme na umístění: C:Usersjmeno_uzivateleDocuments. Zde si vytvoříme složku Arduino a v ní složku libraries. Sem si budeme ukládat vytvořené programy a do složky libraries přidané knihovny. Ty nám zde zůstanou stále stejné, i když přejdeme na novější verzi Arduino IDE. Nyní už nás bude zajímat pouze soubor arduino.exe ve staženém balíku, který spustí vývojové prostředí. Spusťme si ho tedy a ukažme si jeho nejdůležitější funkce.

 

Používání

Vývojové prostředí Arduino IDE

Arduino IDE

Vývojové prostředí můžete vidět na obrázku. V prvním řádku navigačních prvků nás bude zajímat pouze rozbalovací nabídka Tools, ve které nalezneme nastavení pro připojení a programování desky. Její funkce si popíšeme později. V dalším řádku nalezneme několik ikon. Jako první z leva nalezneme ikonu s fajfkou – Verify. Ta po kliknutí spustí kontrolu programu a zkontroluje kód. Pokud nalezne nějakou chybu, v syntaxi ji zvýrazní. Vedle nalezneme ikonu s šipkou doprava – Upload. Ta spustí kontrolu programu, a pokud nenalezne žádné chyby, nahraje program do připojeného Arduina. Další je ikona se symbolem přeložené stránky – New, která po kliknutí vytvoří nový soubor. Další tlačítko s šipkou nahoru – Open – otevře nabídku pro otevření programů (včetně těch, které máme uložené v Dokumentech). Tlačítko s šipkou dolů – Save – uloží současný program. Ve stejném řádku nalezneme úplně vpravo ještě ikonu s lupou – Serial Monitor. Ta spustí sériový monitor, o kterém si více povíme příště. Velký bílý prostor slouží k zápisu kódu a černý prostor dole zobrazuje informační a chybové výpisy z běhu prostředí.

 

Programovací jazyk

Arduino je možné programovat v jazyce C nebo C++. Nejjednodušší je však používat knihovnu Wiring. Ta je v současné době pro programování Arduina velmi rozšířená. Kvůli její komplexnosti se o ní občas mluví jako o samostatném programovacím jazyku. Pro první seznámení si otevřeme příklad BareMinimum. Klikneme na ikonu Open a v rozbalovacím seznamu 01.Basics vybereme možnost BareMinimum. V editoru se nám zobrazí následující kód:

void setup() { // put your setup code here, to run once: } void loop() { // put your main code here, to run repeatedly: } 

Na ukázkovém kódu si můžeme všimnout hned dvou věcí. První z nich je přítomnost dvou bloků programu. V horní části nalezneme blok (funkci) void setup(){ }. Mezi složené závorky se v tomto bloku píše kód, který se provede pouze jednou na začátku programu. To znamená buď po připojení napájení, zmáčknutí tlačítka restart, nebo nahrání kódu do Arduina. Druhým blokem (funkcí) je void loop(){ }, do jehož složených závorek se zapisuje kód, který se bude opakovat neustále dokola až do odpojení napájení. Tyto dvě části musí být v programu VŽDY – tedy i když neobsahují žádné příkazy. Při jejich absenci by program skončil chybou. Dále bychom si měli všimnout dvojitého lomítka. To nám značí komentáře v programu. Část kódu, nebo textu zapsanou za lomítkem bude program ignorovat. Používá se, když si chceme k části kódu zapsat poznámku, nebo když chceme na chvíli vyřadit část kódu z provozu. Můžeme se setkat s dvěma typy komentářů:

jednořádkový komentář //když řádek začíná dvojitým lomítkem, jedná se o jednořádkový komentář //vše, co je v řádku za ním program ignoruje to co se však nachází na dalším řádku je bráno jako normální kód druhým typem jsou víceřádkové komentáře /* ty začínají lomítkem a hvězdičkou mohou mít libovolný počet řádků a končí hvězdičkou a lomítkem */ 

 

Blikáme LED

Budeme potřebovat

  1. Arduino Uno (nebo jinou desku)
  2. USB kabel
  3. Nepájivé kontaktní pole
  4. LED Dioda – stačí obyčejná za 1 Kč
  5. Vodiče – dobrou kombinací obsahující nepájivé pole i vodiče je tento set.
  6. 330Ω (ohm) rezistor – zapojení bude fungovat i bez něj, ale je lepší ho použít.

 

Připojení Arduina a PC

Arduino Uno připojíme pomocí USB k počítači. Mělo by se nám objevit instalační okno. Pokud se instalace nového zařízení nepovede, neděste se. Nyní přichází na řadu stažená složka Drivers. V nabídce Start -> Ovládací panely otevřeme Správce zařízení. Zde najdeme naše Arduino. Pravým tlačítkem otevřeme okno Vlastnosti a na kartě Ovladač zmáčkneme tlačítko Aktualizovat ovladač (k tomu je však nutné mít oprávnění správce). Poté vybereme možnost Vyhledat ovladač v počítači a navedeme instalační program do umístění složky Drivers. Nakonec zmáčknutím tlačítka další nainstalujeme ovladač.

Nyní ještě musíme nastavit Arduino IDE. Otevřeme nabídku Tools a v seznamu Boards vybereme Arduino Uno. Poté v Tools -> Serial Port vyberte sériový port, na který je Arduino připojeno (většinou je to jediný port v seznamu). Tímto je za námi nastavování a můžeme se pustit do zapojování.

Zapojení

Vezmeme si LED diodu, vodiče a rezistor a vše zapojíme tak, jak je vidět na obrázku.

Zapojení LED diody k Arduinu

Schéma zapojení LED diody

Program

Nyní už nám nezbývá nic jiného, než do editoru vložit následující program a stiskem tlačítka Upload nahrát kód do Arduina. Pokud vše proběhlo v pořádku, LED dioda začne blikat.

void setup() { pinMode(12, OUTPUT); //česky: nastav pin 12 jako výstup } void loop() { digitalWrite(12, HIGH); //na pinu 12 pusť proud delay(1000); //počkej 1000 ms = 1 s digitalWrite(12,LOW); //na pinu 12 vypni proud delay(1000); } 

Zdroje obrázků

Arduino Uno

Zapojení bylo nakresleno v programu Fritzing.

 

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

2 Comments on “Programujeme Arduino

Karel Dvořáček
18.12.2015 at 20:00

Hlavně si nepleťte podtržítko a lomítko ___///___

Zbyšek Voda
Zbyšek Voda
19.12.2015 at 12:41

Napsat komentář