Arduino RGB flödande sekventiell ljuskrets

Prova Vårt Instrument För Att Eliminera Problem





Denna Arduino RGB-sekventiella ljusgeneratorkrets genererar ett jämnt flödande rött, grönt blått mönster över den anslutna RGB-lysdioden.

Lysdioden som används här är en fyra stift 30mA RGB-lysdiod, vanlig anodtyp, vilket innebär att den gemensamma stiftet för denna lysdiod måste tilldelas en kontinuerlig positiv för de nödvändiga operationerna. Lysdioderna som anges som vanlig katod kräver en kontinuerlig negativ eller jord för RGB-belysning.



Maskinvaran som krävs för detta projekt:

En Arduino UNO-styrelse.
Ett 220 ohm, 1/4 watt motstånd
En RGB, 5 mm, 30 mA LED (vanlig anodtyp)
Länk ledningar
Lödkolv,
9V-adapter AC / DC

Anslutningsdetaljerna för den föreslagna RGB LED-sekventiella ljuskretsen med Arduino kan ses i ovanstående diagram.



Anslutningarna är ganska enkla att implementera, bara sätt in LED-ledningarna till Arduino burg-pinouts, växla strömuttaget och visualisera RGB-LED-lampan som kör den röda, gröna, blåa belysningen i följd.

Koden är helt anpassningsbar enligt de individuella preferenser och val,

Koda:

Skisskoden för denna RGB LED-sekventiella flödande ljuskrets kan hittas enligt nedan:

/ *
RGB LED-färgflöde
Visar en [ganska] jämn
färgföljd på en RGB-LED

av Jeremy Fonte
Copyright (c) 2012 Jeremy
Fonte. Alla rättigheter förbehållna.
Den här koden släpps under
MIT-licens:

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örs en gång när du trycker på reset:
ogiltig installation () {
// initialisera den digitala stiftet som
en utgång.
pinMode (8, OUTPUT)
pinMode (9, OUTPUT)
pinMode (10, OUTPUT)
pinMode (11, OUTPUT)

digitalWrite (9, HÖG)
}

// looprutinen går om och om igen för alltid:
ogiltig slinga () {
r = r + ri
g = g + gi
b = b + bi

om (r> 255) {
r = 255
ri = -1 * slumpmässig (1, 3)
}
annars om (r<0) {
r = 0
ri = slumpmässig (1, 3)
}

om (g> 255) {
g = 255
gi = -1 * slumpmässig (1, 3)
}
annars om (g<0) {
g = 0
gi = slumpmässig (1, 3)
}

om (b> 255) {
b = 255
bi = -1 * slumpmässig (1, 3)
}
annars om (b<0) {
b = 0
bi = slumpmässig (1, 3)
}

analogWrite (8, r)
analogWrite (10, g)
analogWrite (11, b)
fördröjning (20)
}




Tidigare: Arduino Musical Tune Generator Circuit Nästa: Arduino LCD KeyPad Shield (SKU: DFR0009) Datablad