Circuit de lumină secvențială care curge Arduino RGB

Încercați Instrumentul Nostru Pentru Eliminarea Problemelor





Acest circuit generator de lumină secvențială Arduino RGB va genera un model roșu, albastru verde care curge lin peste LED-ul RGB conectat.

LED-ul utilizat aici este un LED RGB cu patru pini 30mA RGB, tip anod comun, ceea ce înseamnă că pinul comun pentru acest LED va trebui să aibă un pozitiv continuu pentru operațiile necesare. LED-urile care sunt specificate ca catod comun necesită un negativ continuu sau împământat pentru iluminările RGB.



Hardware-ul necesar pentru acest proiect:

O placă UNO Arduino.
Un rezistor de 220 ohmi, 1/4 wați
Un LED RGB, 5mm, 30 mA (tip anod comun)
Sârme de legătură
Ciocan de lipit,
Adaptor 9V AC / DC

Detaliile conexiunii circuitului de lumină secvențială LED RGB propus folosind Arduino pot fi văzute în diagrama de mai sus.



Conexiunile sunt destul de ușor de implementat, doar introduceți cablurile LED la pin-urile Arduino burg, comutați priza de alimentare și vizualizați LED-ul RGB care luminează roșu, verde, albastru iluminând într-o manieră secvențială.

Codul este complet personalizabil conform preferințelor și selecțiilor individuale,

Cod:

Apoi, schița codului pentru acest circuit de lumină secvențială cu LED RGB poate fi găsit după cum este prezentat mai jos:

/ *
Flux de culoare LED RGB
Afișează un [destul] neted
secvență de culori pe un LED RGB

de Jeremy Fonte
Copyright (c) 2012 Jeremy
Fonte. Toate drepturile rezervate.
Acest cod este eliberat sub
Licență MIT:

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

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

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

// rutina de configurare rulează o dată când apăsați reset:
configurare nulă () {
// inițializați pinul digital ca
o ieșire.
pinMode (8, OUTPUT)
pinMode (9, OUTPUT)
pinMode (10, OUTPUT)
pinMode (11, OUTPUT)

digitalWrite (9, HIGH)
}

// rutina de buclă rulează iar și iar pentru totdeauna:
bucla nulă () {
r = r + ri
g = g + gi
b = b + bi

dacă (r> 255) {
r = 255
ri = -1 * aleatoriu (1, 3)
}
altfel dacă (r<0) {
r = 0
ri = aleatoriu (1, 3)
}

dacă (g> 255) {
g = 255
gi = -1 * aleatoriu (1, 3)
}
altfel dacă (g<0) {
g = 0
gi = aleatoriu (1, 3)
}

dacă (b> 255) {
b = 255
bi = -1 * aleatoriu (1, 3)
}
altfel dacă (b<0) {
b = 0
bi = aleatoriu (1, 3)
}

analogWrite (8, r)
analogWrite (10, g)
analogWrite (11, b)
întârziere (20)
}




Precedent: Circuit generator de melodii Arduino Următorul: Arduino LCD KeyPad Shield (SKU: DFR0009) Foaie de date