Bastlíme s Arduinem – píšeme první program | Kapitola 6
Seznam kapitol
Po nějakém čase se vracíme k bastlení s Arduinem. Dnes se však od hardwaru trošku odkloníme a podíváme se na software. Arduino totiž není jen o elektrobastlení, ale také o algoritmizaci, která nám prostřednictvím mikroprocesoru umožní celý náš výtvor rozhýbat. Dejme se tedy do práce, programátoři!
Pokud už z té intenzivní záře LED vidíte červeně a bolí vás oči, tak nezoufejte. V rámci dnešního článku se totiž podíváme ještě na jeden projekt, který nám naše původní zapojení zase o něco vylepší. Do našeho obvodu totiž připojíme potenciometr, kterým budeme intenzitu svitu červené LED regulovat.
Součástky
K realizaci tohoto projektu bude zapotřebí naprosté minimum součástek:
- 5× propojka
- 1× 220Ω odpor (může být i o něco vyšší)
- 1× červená LED
- 1× nepájivé pole
- 1× Arduino UNO R3 kit nebo některý z jeho klonů
- 1× 10kΩ otočný potenciometr
Schéma zapojení
Do našeho již hotového zapojení přidáme novou komponentu. Tou je již zmiňovaný potenciometr, který nám ve výsledku umožní „nakroutit“ svůj vnitřní odpor tak, abychom tuto informaci mohli využít pro změnu jasu červené LED. Já jsem k tomuto účelu použil klasický otočný 10 kΩ potenciometr.
Potenciometr
Potenciometr má celkem tři nožky, které musíme připojit. Jednu z jeho krajních nohou připojte k zemi. Tu na opačné straně pak připojíme naopak na 5V pin. A teď přijde to nejdůležitější. Prostřední nohu použijeme k měření výstupního napětí potenciometru, které se mění v závislosti na nastavení odporového děliče uvnitř potenciometru. Připojíme ji tedy k jednomu z analogových vstupů (označené bílým popiskem Analog In), třeba právě k A0 jako na schématu níže. Nastavení děliče měníme právě pomocí změny úhlu natočení potenciometru.
Analogový vstup
Ač tu zatím o analogových vstupech řeč nebyla, nelze si bez nich dnešní chytrou elektroniku ani představit. Od digitálních vstupně-výstupních pinů se značně liší. Dokážou totiž převést hodnotu vstupního napětí na číslo dané rozsahem AD (analog-digital) převodníku. Toto číslo pak lze v našem programu využít a použít, jak se nám zachce, třeba k výpočtu hodnot elektrických veličin nebo k interpretaci dat ze senzoru. Je to vlastně takový způsob, jakým náše zařízení vnímá okolní „analogový svět“. V našem případě náš procesor bude reagovat na otočení potenciometru.
Drobná změna na závěr
Připojení potenciometru však není poslední věcí, již na našem původním zapojení musíme změnit. Pokud jste totiž stejně jako já připojili digitální výstup pro červenou LED na pin bez vlnovky, musíme ho nyní zapojit na pin, kde vlnovka je.
PWM
Ale co vlastně ta nenápadná maličká vlnovka u čísla digitálního pinu znamená? Na destičce se nachází nápověda zmiňující zkratku PWM – tedy Pulse-Width Modulation. Pin s touto funkcí má jednu kritickou vlastnost, a to sice, že není omezený pouhými dvěma stavy výstupního napětí 0V a 5V, ale dokáže navíc mezi těmito dvěma stavy rychle přepínat. Metodou tzv. pulsně šířkové modulace tak umí danou střídou signálu (poměr mezi log 0 a log 1 v procentech) generovat obdélníkový signál, jak je vidět v grafech pod odstavcem. Tím u naší LED dosáhneme změny jejího jasu.
Prinicp PWM je znázroněn na obrázku výše, kde lze pozorovat postupné dávkování 5V výstupu napříč časem. Naše LED tak v průměru svítí kratší dobu, než když ji máme trvale sepnutou pětivoltovým výstupem, což je ve výsledku naším mozkem vnímáno jako snížení jasu LED.