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á.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *