Arduino RGB-flydende sekventielt lyskredsløb

Prøv Vores Instrument Til At Fjerne Problemer





Dette Arduino RGB sekventielle lysgenerator kredsløb genererer et jævnt flydende rødt, grønblåt mønster over den tilsluttede RGB LED.

Den anvendte LED er en fire-pin 30mA RGB-LED, fælles anodetype, hvilket betyder at den fælles pin til denne LED skal tildeles en kontinuerlig positiv for de krævede operationer. LED'erne, der er specificeret som almindelig katode, kræver en kontinuerlig negativ eller jordforbindelse til RGB-belysning.



Den nødvendige hardware til dette projekt:

Et Arduino UNO-bord.
En 220 ohm, 1/4 watt modstand
Én RGB, 5 mm, 30 mA LED (almindelig anodetype)
Link ledninger
Loddekolbe,
9V adapter AC / DC

Forbindelsesdetaljerne for det foreslåede RGB LED sekventielle lyskredsløb ved hjælp af Arduino kan ses i ovenstående diagram.



Forbindelserne er ret nemme at implementere, bare indsæt LED-lederne til Arduino burg pinouts, skift strømstikket og visualiser RGB-LED'en, der kører den røde, grønne, blå belysning sekventielt.

Koden kan tilpasses fuldt ud i henhold til de individuelle præferencer og valg,

Kode:

Derefter kan skitskode for dette RGB LED sekventielle flydende lyskredsløb findes som angivet nedenfor:

/ *
RGB LED-farveflow
Viser en [ret] glat
rækkefølge af farver på en RGB LED

af Jeremy Fonte
Ophavsret (c) 2012 Jeremy
Fonte. Alle rettigheder forbeholdes.
Denne kode frigives under
MIT license:

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

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

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

// installationsrutinen kører en gang, når du trykker på reset:
ugyldig opsætning () {
// initialiser den digitale pin som
en output.
pinMode (8, OUTPUT)
pinMode (9, OUTPUT)
pinMode (10, OUTPUT)
pinMode (11, OUTPUT)

digitalWrite (9, HIGH)
}

// loop-rutinen løber igen og igen for evigt:
ugyldig sløjfe () {
r = r + ri
g = g + gi
b = b + bi

hvis (r> 255) {
r = 255
ri = -1 * tilfældig (1, 3)
}
ellers hvis (r<0) {
r = 0
ri = tilfældig (1, 3)
}

hvis (g> 255) {
g = 255
gi = -1 * tilfældig (1, 3)
}
ellers hvis (g<0) {
g = 0
gi = tilfældig (1, 3)
}

hvis (b> 255) {
b = 255
bi = -1 * tilfældig (1, 3)
}
ellers hvis (b<0) {
b = 0
bi = tilfældig (1, 3)
}

analogWrite (8, r)
analogWrite (10, g)
analogWrite (11, b)
forsinkelse (20)
}




Forrige: Arduino Musical Tune Generator Circuit Næste: Arduino LCD KeyPad Shield (SKU: DFR0009) Dataark