V předminulém díle jsme si vysvětlili, jak Arduino pracuje a vytvořili jsme jednoduchý program, který nám rozblikal diodu, která byla připojena k pinu číslo 13 přímo na desce Una. Nyní se však posuneme o trochu dále a to k tomu, že budeme zapojovat LED diodu, která se nenachází na desce ale mimo ní. Pro vytvoření tohoto příkladu tedy budeme potřebovat:
- Arduino desku dle vašeho výběru, ale bohatě stačí UNO. Bohužel desku UNO mám v jiném projektu, který vám později představím, a bude tam několik týdnu nonstop pracovat, takže tento návod budu stavět na desce Arduino DUE, nicméně výsledný kód, který zde bude napsaný, na UNU půjde spustit také, aniž by bylo zapotřebí na něm cokoliv měnit.
- LED diodu
- Propojovací kabely
- Bastldesku
- Odpor
Pokud máte toto všechno, vysvětlíme si nyní několik základních pojmů. Vše se bude točit okolo toho, jakou máte LED diodu a jaký by k ní měl být správný odpor. Vzoreček, který budeme používat, bude de facto R = U/I, kde R bude výsledný odpor v ohmech. Pro výpočet budeme potřebovat znát údaje z diody. Například červená dioda, kterou jsem zvolil na test já, má tyto údaje:
- Barva: červená
- Vyzařovací úhel: 20°
- Vlnová délka 630 nm
- napětí na diodě (často značeno jako Uf): 2.1V
- proud, který smí protékat diodou (často značeno jako If): 30 mA
Všechny tyto údaje ale důležité nejsou, pro výpočet odporu jsou zapotřebí pouze ty dva poslední. Pustíme se tedy do počtů.
Vezmeme napětí, které je na Arduino desce, tedy 5V a od nich odečteme hodnotu napětí na diodě, v tomto případě 2.1V. To znamená, že dostaneme U = 2,9V. Nyní převedeme proud, který smí protékat diodou z miliampér na ampéry. Pokud dosadíte mA tak vám vyjde nesmysl a my potřebujeme vědět, kolik ohmů máme mít odpor. To znamená, že 30 mA = 0,03A, tedy I = 0,03. Nyní se tedy vrátíme ke vzorečku R = U/I a dosadíme hodnoty, tedy R = 2,9 / 0.03, tedy R = 96,6, tedy použijeme odpor, který má odpor 100 ohm.
Nyní když jsme si vyjasnili, jakou máme LED diodu a jaký použijeme odpor, budeme to připojovat k Arduinu a k bastldesce. Nyní se všimněte, že dioda nemá oba konce stejně dlouhé, jeden je kratší a druhý je delší. Ten delší je anoda a je kladný, copak ten kratší je katoda a je záporný, pokud toto otočíte, dioda bude v nepropustném směru, to znamená, že nebude v případě této červené LED diody svítit.
Začneme tedy připojovat vše na bastldesku. Zapíchneme LED diodu do bastldesky tak, aby každá z jejích nožiček byla zapíchnutá, ale nebyly vzájemně propojeny. Vedle do pinu kde je anoda (ta delší) připojíme kablík, musí jít o piny, které jsou spolu spojeny a umístíme jej do některého z digitálních pinů Arduina, třeba na pin číslo 10. Tento kabel je na následujícím obrázku červený. Dále vedle pinu, kde je katoda (ta kratší) zapíchneme jednu část odporu a jeho druhou část mimo, tak, jak je to na fotce. V těch pinech, ve kterých odpor končí, do těch připíchneme další kablík (tentokrát je na fotce modrý) a ten umístíme opět do desky Arduina, ale tentokrát do místa, které je označeno jako GND (zem).
Zapojení na desce mám trochu složitější. Je to z toho důvodu, že deska DUE používá jako pracovní napětí 3.3V místo 5, jak je tomu UNA. Z tohoto důvodu místo 27 ohmů je zapotřebí 47 ohmů pro tu samou LED diodu. Tedy všem, kteří tento návod staví, stačí, když modrý kablík píchnou do společného pinu k modrému odporu (27 ohmů) a zbytek desky tam nebude. Vzhledem k tomu, že před psaním tohoto seriálu jsem počítal s tím, že budu mít desku UNO, ale bohužel je v jiném projektu, tak je použita deska s jiným napětím, proto těch odporů navíc, navíc jsem neměl zrovna po ruce odpor 47 ohmů. Na desce pak zapojení může vypadat takto:
Pokud vše máme takto zapojeno, můžeme se pustit do programování. Bude se jednat o jednoduchý program, který diodu zapne na dvě vteřiny a pak jí vteřinu nechá odpočívat. Jako první tedy Arduinu řekneme, že pin číslo 10 bude jako výstup.
void setup(){
pinMode(10, OUTPUT);
}
Tato informace musí být napsána ve funkci setup, nicméně to jistě všichni už víte, protože jsme si to říkali již v sedmém díle.
Nyní se přesuneme k funkci loop() do které zapíšeme následující řádky:
digitalWrite(10,HIGH);
delay(2000);
digitalWrite(10,LOW);
delay(1000);
Tímto je kód celý hotový a můžeme jej do Arduina nahrát. Po tomto všem by se měla dioda vždy na dvě vteřiny zapnout a svítit a na vteřinu vypnout. V příštím díle se podíváme na to, jak k Arduinu zapojit diody sériově a potom, jak je připojit paralelně.