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