Svítíme RGB LED diodou

Pokud chceme různé barvy světla je třeba použít LED diody s různě zabarveným pouzdrem. Co když ale potřebujeme, aby jeden zdroj LED světla dokázal svítit různými barvami? V tom případě je třeba použít speciální elektronickou součástku, které se říká RGB LED dioda a jak na to si nyní ukážeme.

RGB LED Dioda se společnou katodou i anodou

RGB LED dioda jsou vlastně tři obyčejné LED diody, které jsou integrované do jednoho pouzdra. Pokud máte RGB LED diodu s čirým pouzdrem, jako je ta na doprovodném obrázku a pozorně si prohlédnete konstrukci osvitových ramen napojených na vývody bude vám systém jasný. Jistě vám již zároveň došlo i to, že každá barva má jeden vývod součástky, kterým je možné daný barevný kanál rozsvítit. Pokud vám to není úplně jasné prostudujte si prosím předešlý obrázek.

Z lekce, ve které jsem se zmiňoval o elektrickém obvodu a jak to funguje v rámci arduina (lekce 3) je vám jasné, že na uzavření eletrického obvodu potřebujete dva vývody (ale tři barvy LED diody = 3*2 = 6). Na součástce ale naleznete vývody pouze čtyři. Jak to tedy funguje?

Funguje to tak, že ke všem třem barvám patří jeden společný vývod. RGB LED diod jsou totiž dva druhy a to podle toho jakou polaritu je nutné na společný vývod přivést. Je-li to kladná polarita (společný vývod se připojuje na +/5V) jedná se o RGB LED diodu se společnou anodou (ano je to název toho společného vývodu :-)). Je-li tomu naopak (a na společný vývod je třeba přivést -/GND) jedná se o RGB LED diodu se společnou katodou.

Upozornění: Zapojení se společnou katodou i se společnou anodou mají obrácenou polaritu, je třeba si před zapojením zjistit jaký druh LED diody chcete použít a tomu přizpůsobit zapojení součástek k desce i program, který do arduina uploadnete.

Zapojení obvodu pro RGB LED diodu se společnou katodou (ochranný odpor je 220 ohmů)

V zapojení, které je na obrázku, je počítáno s RGB LED diodou se společnou katodou. Použité odpory jsou 220 ohmů (červený-červený-hnědý barevný proužek na součástce). Při zapojování RGB LED si dejte pozor, aby jste součástku neobrátili. Na nejdelší vývod přijde připojit GND. Zbytek barevných kanálů připojte na piny 2, 3 a 4 tak, aby 2 pin spouštěl kanál R, třetí pin kanál G a čtvrtý pin kanál B. Pokud by cokoliv nebylo jasné doporučuji prostudovat obrázky a popřemýšlet.

Pokud máte již hotové zapojení přidávám pravdivostní tabulku, aby bylo jasné jakým způsobem můžete spustit základní barevné odstíny.

Programový krokBarvakanál pin 2kanál pin 3kanál pin4
Programový krok 1černá000
Programový krok 2červená100
Programový krok 3žlutá110
Programový krok 4zelená010
Programový krok 5azurová011
Programový krok 6modrá001
Programový krok 7fialová101
Programový krok 8bílá111
Pravdivostní tabulka pro program „všechny barvy rgb“

Jestli již máte hotové zapojení přeneste si do arduina následující program.

/*
Světelný maják s RGB diodou
LED diody se střídavě rozsvěcí po dobu jedné sekundy.
Program použit pro rgb led diodu se společnou anodou – připojení na digitální piny
*/
//Nastavení desky – inicializace pinů
void setup() {
pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
pinMode(4, OUTPUT);
}

//Provedení programu – spuštění v nekonečné smyčce
void loop() {
//1 – červná
digitalWrite(2, 0); //R
digitalWrite(3, 0); //G
digitalWrite(4, 0); //B
delay(1000);
//2-bílá
digitalWrite(2, 1); //R
digitalWrite(3, 1); //G
digitalWrite(4, 1); //B
delay(1000);
//3-červená
digitalWrite(2, 1); //R
digitalWrite(3, 0); //G
digitalWrite(4, 0); //B
delay(1000);
//4-žlutá
digitalWrite(2, 1); //R
digitalWrite(3, 1); //G
digitalWrite(4, 0); //B
delay(1000);
//5-zelená
digitalWrite(2, 0); //R
digitalWrite(3, 1); //G
digitalWrite(4, 0); //B
delay(1000);
//6-azurová
digitalWrite(2, 0); //R
digitalWrite(3, 1); //G
digitalWrite(4, 1); //B
delay(1000);
//7-modrá
digitalWrite(2, 0); //R
digitalWrite(3, 0); //G
digitalWrite(4, 1); //B
delay(1000);
//8-fialová
digitalWrite(2, 1); //R
digitalWrite(3, 0); //G
digitalWrite(4, 1); //B
delay(1000);
}
Program pro rgb led – „všechny barvy rgb“

Tip: Všimněte si, že v příkazu digitalWrite jako jeden z parametrů nepoužívám vlastnost HIGH/LOW, ale hodnoty 1/0. Obojí je funkční a přípustné. Hodnota parametru 0/1 myslím jasněji demonstruje (zejména ve spojení s pravdivostní tabulkou) stav pinu.

Výsledek činnosti programu pro arduino UNO R3 – program „Všechny barvy RGB“

Úkol:

1, Naprogramuj obvod s RGB LED jako jednoduchý semafor, který staví cestáři na vozovku, když potřebují zastavit auta. Semafor bude postupně přepínat ze zelené na červenou a zpět.

2, Naprogramuj obvod s RGB LED jako maják na policejním autě – měl by střídat červenou a modrou.

3, Naprogramuj obvod s RGB LED, aby svítil jako česká trikolóra – barvy v pořadí – bílá – modrá – červená.

2 komentáře u „Svítíme RGB LED diodou

  1. Dee Reagovat

    Mohla bych se zeptat jestli je tato stránka stále aktivní? Mám takový problém s arduino a tak jsem doufala že by jste mi mohl pomoci. Potřebovala bych zapojit RGB led tak aby měnila barvy, zapla a vypla se při zmáčknutí tlačítka a reagovala na světlo pomocí světelného senzoru (když svítí světlo LED svítí méně, když svítí málo svítí LED více, asi mě chápete). Mohl by jste mi pomoct? Já když jsem to zkoušela tak mi to nefungovalo a už si s tím nevím rady.

    • Ondřej Merta Autor článkuReagovat

      Dobrý den
      Stránka je stále aktivní, bohužel nemám, jsa v činné výuce, tolik času na psaní. Teď přes svátky snad něco přibude. Většinu lekcí navíc doprovázím projekty, které potřebuji odzkoušet, které termíny a počet publikací také protahují. Díky za pochopení.
      1, RGB dioda vypínání a zapínání na stisk tlačítka. Lze docílit „hardwarově“ například přerušením společné katody, nebo anody RGB diody. Další možností je ovlivnit reakce „softwarově“ programem vloženým do arduina. Nevím jak moc byste potřebovala doplnit podrobnosti pro tuto variantu řešení, není to žádná raketová věda, ale chápu, že každý nemusí být zběhlý v aplikaci. Když tak normálně napište na mail.
      2, Regulace síly osvitu. Diody obecně, aby svítily musí mít dostatečné napětí aby se rozsvítily. Tudíž klasickou regulaci, jako u žárovek – potenciometrem zde neuplatníte. Regulovat intenzitu osvitu je možné pulsně přes pwm výstupy arduina (to jsou ty s vlnovkou). Funguje to tak, že posíláte přes tento výstup proud s velmi rychlými pulsy, takže se LED velmi rychle „zapíná a vypíná“, což my ubozí lidé vnímáme jako snížení intenzity osvitu. 🙂

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.