W tym projekcie zamierzamy podłączyć 5 diod LED RGB (czerwony, zielony, niebieski) do Arduino Uno. Te diody LED są połączone równolegle, aby zmniejszyć użycie kodu PIN w Uno.
Poniższy rysunek przedstawia typową diodę LED RGB:
Dioda LED RGB będzie miała cztery piny, jak pokazano na rysunku.
PIN1: biegun ujemny koloru 1 lub zacisk dodatni koloru 1
PIN2: Wspólny pozytyw dla wszystkich trzech kolorów lub wspólny negatyw dla wszystkich trzech kolorów
PIN3: biegun ujemny koloru 2 lub zacisk dodatni koloru 2
PIN4: biegun ujemny koloru 3 lub zacisk dodatni koloru 3
Istnieją więc dwa typy diod LED RGB, jedna to wspólna katoda (wspólny ujemny), a druga to wspólna anoda (wspólny dodatni). W CC (Common Cathode lub Common Negative) będą trzy dodatnie zaciski, każdy zacisk reprezentujący kolor i jeden zacisk ujemny reprezentujący wszystkie trzy kolory. Obwód wewnętrzny diody LED CC RGB można przedstawić jak poniżej.
Jeśli chcemy, aby CZERWONY był włączony powyżej, musimy zasilić pin CZERWONEJ diody LED i uziemić wspólny minus. To samo dotyczy wszystkich diod LED. W CA (wspólna anoda lub wspólny dodatni) będą trzy ujemne zaciski, każdy zacisk reprezentujący kolor i jeden dodatni zacisk reprezentujący wszystkie trzy kolory. Obwód wewnętrzny diody LED CA RGB można przedstawić w sposób pokazany na rysunku.
Jeśli chcemy, aby CZERWONY był włączony powyżej, musimy uziemić pin RED LED i zasilić wspólny plus. To samo dotyczy wszystkich diod LED.
W naszym obwodzie zastosujemy typ CA (Common Anode lub Common Positive). Do podłączenia 5 diod LED RGB do Arduino zwykle potrzebujemy 5x4 = 20 PINS, przez co zamierzamy zmniejszyć użycie tego PIN-u do 8, łącząc równolegle diody LED RGB i stosując technikę zwaną multipleksowaniem.
składniki
Sprzęt: UNO, zasilacz (5v), rezystor 1KΩ (3 sztuki), LED RGB (czerwony, zielony, niebieski) (5 sztuk)
Oprogramowanie: Atmel studio 6.2 lub Aurdino nightly.
Objaśnienie obwodu i pracy
Podłączenie obwodu dla interfejsu RGB LED Arduino pokazano na poniższym rysunku.
Teraz, jeśli chodzi o trudną część, powiedzmy, że chcemy włączyć CZERWONĄ diodę w SET1 i ZIELONĄ diodę w SET2. Zasilamy PIN8 i PIN9 UNO oraz uziemiamy PIN7, PIN6.
Z tym przepływem będziemy mieć CZERWONY w pierwszym SET i ZIELONY w drugim SET ON, ale będziemy mieć ZIELONY w SET1 i CZERWONY w SET2 ON. Przez prostą analogię widzimy, że wszystkie cztery diody LED zamykają obwód w powyższej konfiguracji i wszystkie świecą.
Aby wyeliminować ten problem, w danym momencie włączamy tylko jeden zestaw SET. Powiedz, kiedy t = 0m SEC, SET1 jest włączony. Przy t = 1m SEC, SET1 jest wyłączany, a SET2 włączany. Ponownie przy t = 6m SEC, SET5 jest wyłączany, a SET1 włączany. To trwa.
Tutaj sztuczka polega na tym, że ludzkie oko nie może wychwycić częstotliwości większej niż 30 Hz. To znaczy, jeśli dioda LED włącza się i wyłącza w sposób ciągły z częstotliwością 30 Hz lub więcej. Oko widzi, że dioda LED jest stale włączona. Jednak tak nie jest. Dioda LED będzie stale włączać się i wyłączać. Ta technika nazywa się multipleksowaniem.
Mówiąc najprościej, będziemy zasilać każdą wspólną katodę 5 SET 1 milisekundą, więc w 5 milisekundach zakończymy cykl, po czym cykl rozpocznie się ponownie od SET1, to trwa wiecznie. Ponieważ zestawy LED włączają się i wyłączają zbyt szybko. Człowiek przewiduje, że wszystkie zestawy SET są włączone przez cały czas.
Więc kiedy zasilamy SET1 przy t = 0 milisekund, uziemiamy czerwony pin. W momencie t = 1 milisekunda zasilamy SET2 i uziemiamy ZIELONY pin (w tym czasie CZERWONY i NIEBIESKI są WYSOKIE). Pętla idzie szybko, a oko widzi CZERWONĄ poświatę w PIERWSZYM ZESTAWIE i ZIELONĄ poświatę w DRUGIM ZESTAWIE.
W ten sposób programujemy diodę RGB LED, będziemy powoli świecić wszystkie kolory w programie, aby zobaczyć, jak działa multipleksowanie.