Obwód przepływającego sekwencyjnego światła Arduino RGB

Wypróbuj Nasz Instrument Do Eliminowania Problemów





Ten sekwencyjny obwód generatora światła Arduino RGB wygeneruje płynny, czerwony, zielony, niebieski wzór na podłączonej diodzie LED RGB.

Zastosowana tutaj dioda LED to czteropinowa dioda LED RGB 30 mA ze wspólną anodą, co oznacza, że ​​wspólny pin tej diody LED będzie musiał mieć przypisany ciągły plus dla wymaganych operacji. Diody LED, które są określone jako wspólna katoda, wymagają ciągłego ujemnego lub uziemienia dla oświetlenia RGB.



Sprzęt wymagany do tego projektu:

Jedna płyta Arduino UNO.
Jeden rezystor 220 omów, 1/4 wata
Jedna dioda LED RGB, 5 mm, 30 mA (typ ze wspólną anodą)
Łączenie przewodów
Lutownica,
Zasilacz 9 V AC / DC

Szczegóły połączenia proponowanego układu sekwencyjnego oświetlenia LED RGB z wykorzystaniem Arduino widać na powyższym schemacie.



Połączenia są dość łatwe do wykonania, wystarczy włożyć wyprowadzenia LED do pinoutów Arduino burg, przełączyć gniazdo zasilania i wizualizować diodę RGB LED, która świeci sekwencyjnie na czerwono, zielono i niebiesko.

Kod jest w pełni konfigurowalny zgodnie z indywidualnymi preferencjami i wyborami,

Kod:

Następnie szkic kodu dla tego sekwencyjnego obwodu płynącego światła LED RGB można znaleźć, jak podano poniżej:

/ *
Przepływ kolorów RGB LED
Wyświetla [dość] gładkie
sekwencja kolorów na diodzie LED RGB

przez Jeremy Fonte
Copyright (c) 2012 Jeremy
Fonte. Wszelkie prawa zastrzeżone.
Ten kod jest udostępniany w ramach
Licencja MIT:

https://opensource.org/licenses/MIT*/

int r = 0
int g = 0
int b = 0

int ri = 1
int gi = 3
int bi = 2

// procedura konfiguracji jest uruchamiana raz po naciśnięciu resetowania:
void setup () {
// zainicjuj cyfrowy pin jako
wyjście.
pinMode (8, WYJŚCIE)
pinMode (9, WYJŚCIE)
pinMode (10, WYJŚCIE)
pinMode (11, WYJŚCIE)

digitalWrite (9, WYSOKI)
}

// procedura pętli działa w kółko w nieskończoność:
void loop () {
r = r + ri
g = g + gi
b = b + bi

if (r> 255) {
r = 255
ri = -1 * losowe (1, 3)
}
inaczej, jeśli (r<0) {
r = 0
ri = losowe (1, 3)
}

if (g> 255) {
g = 255
gi = -1 * losowe (1, 3)
}
inaczej, jeśli (np<0) {
g = 0
gi = losowe (1, 3)
}

if (b> 255) {
b = 255
bi = -1 * losowe (1, 3)
}
inaczej, jeśli (b<0) {
b = 0
bi = losowe (1, 3)
}

analogWrite (8, r)
analogWrite (10, g)
analogWrite (11, b)
opóźnienie (20)
}




Poprzedni: Arduino Musical Tune Generator Dalej: Arkusz danych Arduino LCD KeyPad Shield (SKU: DFR0009)