Arduino RGB flytende sekvensiell lyskrets

Prøv Instrumentet Vårt For Å Eliminere Problemer





Denne Arduino RGB sekvensielle lysgeneratorkretsen vil generere et jevnt rennende, grønt blått mønster over den tilkoblede RGB LED.

LED-en som brukes her er en firepinnig 30mA RGB LED, vanlig anodetype, noe som betyr at den vanlige pinnen for denne LED-en må tildeles en kontinuerlig positiv for de nødvendige operasjonene. LED-lampene som er spesifisert som vanlig katode krever en kontinuerlig negativ eller jord for RGB-belysning.



Maskinvaren som kreves for dette prosjektet:

Ett Arduino UNO-styre.
En motstand på 220 ohm, 1/4 watt
Én RGB, 5 mm, 30 mA LED (vanlig anodetype)
Koble ledninger
Loddejern,
9V adapter AC / DC

Tilkoblingsdetaljene til den foreslåtte RGB LED sekvensielle lyskretsen ved hjelp av Arduino kan ses i diagrammet ovenfor.



Tilkoblingene er ganske enkle å implementere, bare sett inn LED-ledningene til Arduino burg pinouts, bytt strømuttaket og visualiser RGB LED som kjører den røde, grønne, blå belysningen på en sekvensiell måte.

Koden kan tilpasses fullt ut i henhold til individuelle preferanser og valg,

Kode:

Deretter kan du skisse kode for denne RGB LED-sekvensielle flytende lyskretsen som gitt nedenfor:

/ *
RGB LED fargeflyt
Viser en [ganske] glatt
rekkefølgen av farger på en RGB-LED

av Jeremy Fonte
Copyright (c) 2012 Jeremy
Fonte. Alle rettigheter forbeholdes.
Denne koden er gitt ut under
MIT-lisens:

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

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

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

// installasjonsrutinen kjører en gang når du trykker på reset:
ugyldig oppsett () {
// initialisere den digitale pinnen som
en utgang.
pinMode (8, OUTPUT)
pinMode (9, OUTPUT)
pinMode (10, OUTPUT)
pinMode (11, UTGANG)

digitalWrite (9, HØY)
}

// loop-rutinen går om og om igjen for alltid:
ugyldig sløyfe () {
r = r + ri
g = g + gi
b = b + bi

hvis (r> 255) {
r = 255
ri = -1 * tilfeldig (1, 3)
}
annet hvis (r<0) {
r = 0
ri = tilfeldig (1, 3)
}

hvis (g> 255) {
g = 255
gi = -1 * tilfeldig (1, 3)
}
annet hvis (g<0) {
g = 0
gi = tilfeldig (1, 3)
}

hvis (b> 255) {
b = 255
bi = -1 * tilfeldig (1, 3)
}
annet hvis (b<0) {
b = 0
bi = tilfeldig (1, 3)
}

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




Forrige: Arduino Musical Tune Generator Circuit Neste: Arduino LCD KeyPad Shield (SKU: DFR0009) Dataark