I_R_W15_M03 Przykładowe projekty
Dioda RGB ze wspólną katodą
Jeżeli najdłuższa nóżka diody jest katodą, to pozostałe muszą być anodami. Pierwsza z nich odpowiada za emitowanie światła czerwonego (R, z ang. red), trzecia – zielonego (G, z ang. green), a czwarta – niebieskiego (B, z ang. blue). Może się też zdarzyć, że ustawienie anod jest inne. W takiej sytuacji pierwsza z nich odpowiada za kolor czerwony, trzecia za niebieski, a czwarta za zielony (tak właśnie jest w przypadku diody, którą będziemy się posługiwać).
Sprawdź w karcie katalogowej lub przez podłączenie do źródła zasilania, które wyprowadzenia odpowiadają poszczególnym kolorom.

Dioda RGB jest bardzo ciekawym urządzeniem – może emitować światło o każdej barwie. Dzieje się tak, ponieważ w diodzie wbudowano trzy chipy; każdy z nich jest zasilany osobno. Jeżeli przez wszystkie anody popłynie taki sam prąd, to jednocześnie zostanie włączone światło czerwone, zielone i niebieskie. Po zmieszaniu tych barw otrzymamy kolor biały. Jeżeli natomiast zasilimy jedynie pierwszy chip, to dioda będzie świeciła tylko na czerwono. Można to regulować zarówno sprzętowo, jak i programowo.
Przy zakupie diody RGB warto pamiętać, gdzie ją nabyliśmy lub wziąć notę katalogową. Jest to istotne podczas obliczania, jakie rezystory są nam potrzebne. W przypadku diody, której używamy, parametry pracy to:
kolor czerwony: prąd 25 mA, napięcie 2 V;
kolor zielony: prąd 25 mA, napięcie 3,5 V;
kolor niebieski: prąd 25 mA, napięcie 3,5 V.
Obliczamy rezystancję, korzystając z prawa Ohma lub z kalkulatora rezystorów. Oczywiście napięcie zasilania to 5 V. Potrzebne nam będą następujące rezystory: 120 omega dla koloru czerwonego oraz dwa po 62 omega dla barw zielonej i niebieskiej.
Jeżeli będziemy włączać światło białe, czerwone, zielone lub niebieskie, to nie ma znaczenia, z których pinów płytki Arduino skorzystamy. Gdy jednak chcemy uzyskać kolory pośrednie, używamy pinów o numerach, przy których umieszczono oznaczenie „~” (tylda). Są to piny PWM (z ang. Pulse Width Modulation), czyli umożliwiające modulowanie szerokości impulsu.
Zatrzymajmy się na chwilę. W schemacie barw RGB składowe mogą przyjmować wartości z zakresu 0–255. Załóżmy, że składowe mają wartości: 255, 0, 0. W efekcie uzyskamy kolor czerwony. Przyjmując: 0, 255, 0, otrzymamy kolor zielony. Analogicznie postępujemy z kolorem niebieskim, który uzyskamy, zakładając wartości: 0, 0, 255. Gdybyśmy wszystkie składowe ustawili na 0, otrzymalibyśmy kolor czarny. Natomiast trzy składowe o wartości 255 dałyby kolor biały.
Jak to się odnosi do pinów PWM? Cechą charakteryzującą sygnał PWM jest współczynnik wypełnienia. Opisuje on, jaką część sygnału stanowi stan niski, a jaką wysoki. Stan niski odpowiada składowej RGB o wartości 0, a stan wysoki – składowej równej 255. Nie zamieścimy tu żadnego wzoru, lecz narysujemy impulsy.
Jeżeli impuls złożony jest w 100% ze stanu wysokiego, czyli składowa koloru wynosi 255, to dioda świeci pełnią blasku. Każda zmiana stanu procentowego na niższy powoduje słabsze świecenie diody. Otrzymujemy więc zupełnie inny kolor światła. W rezultacie jesteśmy w stanie sterować barwą światła emitowanego przez diodę RGB.
Zobaczmy, jak schemat RGB działa w przypadku monitora. Użyjemy wartości, które zostały pokazane na rysunku powyżej, przy założeniu, że schemat dotyczy tylko pierwszego chipu, odpowiedzialnego za barwę czerwoną.
Skoro wiemy, że jaskrawością koloru można sterować, a poszczególne kolory możemy wygaszać, zobaczmy, jak wygląda mieszanie barw przy zadanych wartościach. Podane wartości są przykładowe i można przyjąć dowolną – mniejszą lub większą.
Budowa układu do sterowania diodą RGB ze wspólną katodą
Znając sposób działania diod, możemy narysować prosty schemat podłączenia jednej diody RGB ze wspólną katodą do płytki Arduino Uno.

Etapy podłączenia diody do Arduino
Wpinamy diodę tak, aby każda nóżka znalazła się w innym wierszu szyny danych płytki stykowej.
Katodę łączymy bezpośrednio (lub przez szynę ujemną, jeżeli tak będzie wygodniej) z pinem GND płytki Arduino.
Pierwszą anodę łączymy przez rezystor (120 omega) z pinem 9., drugą (czyli trzecią nóżkę) przez rezystor 62 omega z pinem 10., a ostatnią, również przez rezystor 62 omega, z pinem 11. W naszym przykładzie zamieniliśmy miejscami dwa ostatnie połączenia, ponieważ w naszej diodzie kolory są ułożone następująco: czerwony, niebieski, zielony.

Podłączamy płytkę Arduino do komputera. Następnie uruchamiamy aplikację Arduino IDE i tworzymy nowy szkic. Zapisujemy go na przykład pod nazwą rgb_katoda. Najpierw sprawdzimy, jak działa dioda. Nieco później spróbujemy sterować szerokością impulsu.
Programowanie układu
Deklarujemy zmienne, czyli piny, do których podłączone są poszczególne anody. Przyjęliśmy nazwy angielskie, pochodzące od składowych RGB, ale można zastosować polskie.
W ciele funkcji
setup()ustalamy, że wszystkie piny są wyjściami.
Wewnątrz funkcji
loop()włączamy kolor czerwony. Aby dioda świeciła tylko tą barwą, dla pozostałych należy wyłączyć napięcie. Warto też określić opóźnienie.
W taki sam sposób włączamy kolejne dwa kolory.
Możemy włączyć wszystkie kolory jednocześnie, aby uzyskać białe światło.
Następnie wymieszamy kolor czerwony z niebieskim, a wyłączymy barwę zieloną.
Zmieszamy kolor czerwony z zielonym; niebieski w tym czasie ma być wyłączony.
Wreszcie wyłączymy kolor czerwony, a zielony zmieszamy z niebieskim.
Weryfikujemy poprawność kodu, a następnie przesyłamy szkic do płytki.
Kolory powinny zmieniać się w podanej wyżej kolejności. Najlepiej widać to, gdy patrzymy na diodę z góry, a nie z boku. Pamiętaj jednak, że napięcie, które otrzymują poszczególne chipy, jest maksymalne i dioda świeci pełnią blasku. Nie wpatruj się w nią zatem zbyt długo, ponieważ naprawdę bardzo razi w oczy.
Przygotuj symulację układu do sterowania diodą RGB w Tinkercad.