3W LED dioda je výstupní modul nejen pro Arduino. Tento modul obsahuje 3W bílou LED diodu společně se spínacím tranzistorem. Díky tomu můžeme ovládat svit LED pomocí Arduina, kdy s malým proudem ovládáme již zmíněný tranzistor a ten spíná velký proud pro diodu, přičemž tento velký proud je odebírán ze zdroje připojeného na piny „+“ a „G„.
Pro napájení lze použít napětí v rozsahu 3-6 Voltů, přičemž proudový odběr se může dostat až na hodnotu 0,6 Ampér při plném svitu diody.
Pro úspěšné propojení LED modulu s Arduinem stačí zapojit celkem tři vodiče. Propojíme „S“ s pinem D5, „+“ s 5V Arduina a „G„ se zemí Arduina. Pro datový pin „S“ lze použít také jiné volné piny, ale pokud budete chtít plynule pracovat se svitem, je nutné vybrat PWM piny na vybrané Arduino desce. Více informací najdete zde.
Ukázkový program obsahuje na svém začátku nastavení čísla propojovacího pinu LED diody a vytvoření proměnných, do kterých si budeme ukládat aktuální hodnotu jasu a krok, o který budeme jas měnit.
Podprogram setup je jednoduchý a obsahuje pouze nastavení pinu s LED diodou jako výstupu.
V nekonečné smyčce loop jako první krok nastavíme pomocí funkce analogWrite hodnotu jasu na pin LED diody. Hodnota jasu může jakožto PWM výstup nabývat hodnot 0-255, kdy 255 je maximum. V dalším kroku přičteme k aktuální hodnotě jasu náš nastavený krok. A poté budeme kontrolovat hodnotu jasu, jestli jsme nenarazili na jednu z hraničních hodnot pro otočení „směru řízení svitu“. V první fázi programu budeme náš jas růst o hodnotu 5 každý běh smyčky. A když narazíme na maximální hodnotu 255, vyhodnotí se nám if podmínka a nastaví do proměnné s krokem jeho opačnou hodnotu, tedy v první fázi zápornou. Díky tomu se při dalším průběhu nebude krok přičítat, ale odečítat (přičítat záporný krok). A toto se bude opakovat až do dosáhnutí hodnoty 0, kde se opět krok změní na opačnou hodnotu, nyní kladnou jako při první fázi. A takto bude program pokračovat neustále dokola a my budeme pozorovat pulzování jasu LED diody mezi stavy vypnuto/zapnuto.
Na konci programu se nachází už jen krátká pauza, jejíž hodnota má vliv na rychlost změny jasu.
// PWM řízení 3W LED diody // navody.dratek.cz // nastavení propojovacího pinu LED #define led 5 // proměnné pro běh programu int jas = 0; int krok = 5; void setup() { // nastavení pinu s LED jako výstupu pinMode(led, OUTPUT); } void loop() { // nastavení PWM hodnoty "jas" na pin "led" analogWrite(led, jas); // přičtení kroku k hodnotě jasu pro příští nastavení jas = jas + krok; // ošetření změny směru - při porušení jedné z podmínek // nahrajeme do kroku jeho opačnou hodnotu if (jas <= 0 || jas >= 255) { krok = -krok; } // krátká pauza pro plynulý efekt rozsvícení/stmívání delay(30); }
Po nahrání programu do Arduino desky s připojenou 3W LED diodou dostaneme například tento výsledek:
3W LED dioda je zajímavý modul, který nám umožňuje za pomocí Arduina ovládat poměrně silný zdroj bílého světla. Může se tedy hodit do různých projektů, jako například Arduino lampička s proměnným svitem, detektor pohybu s plynulým osvitem okolí a podobně. Jen bych rád upozornil, že vzhledem k tomu, že 3 Watty na 5 Voltech znamená proudový odběr 0,6 Ampér, tak je nutné myslet také kvalitu a možnosti zdroje. Když využijete pro napájení 5V z Arduina, nerozsvítíte LED diodu nikdy na maximum.
Seznam použitých komponent:
http://dratek.cz/arduino/1511-original-arduino-uno-rev3-1485165418.html
https://dratek.cz/arduino/1273-3w-led-dioda-extra-vykonna-pro-arduino-1460404874.html