Arduino RGB pretočno zaporedno svetlobno vezje

Preizkusite Naš Instrument Za Odpravo Težav





To vezje sekvenčnega generatorja svetlobe Arduino RGB bo na povezani RGB LED ustvarilo tekoč rdeče, zeleno modri vzorec.

Tu uporabljena LED je štirinožna 30mA RGB LED, običajna anodna vrsta, kar pomeni, da bo treba skupnemu zatiču te LED dodeliti neprekinjen pozitiven učinek za zahtevane operacije. Svetleče diode, ki so določene kot skupna katoda, zahtevajo neprekinjen minus ali ozemljitev za osvetlitev RGB.



Strojna oprema, potrebna za ta projekt:

Ena plošča Arduino UNO.
En 220 ohmski, 1/4 vatni upor
Ena RGB, 5 mm, 30 mA LED (običajna anodna vrsta)
Poveži žice
Spajkalnik,
9V adapter AC / DC

Podrobnosti o povezavi predlaganega zaporednega svetlobnega vezja RGB LED z uporabo Arduina so razvidne iz zgornjega diagrama.



Povezave je zelo enostavno izvesti, samo vstavite vodnike LED v izvlečke Arduino burg, vklopite vtičnico in si oglejte RGB LED, ki zaporedoma sveti rdeče, zeleno in modro.

Koda je popolnoma prilagodljiva glede na posamezne nastavitve in izbire,

Koda:

Nato lahko najdete skico kode za ta RGB LED zaporedni pretok svetlobe, kot je navedeno spodaj:

/ *
RGB LED barvni tok
Prikaže [dokaj] gladko
zaporedje barv na RGB LED

avtor Jeremy Fonte
Avtorske pravice (c) 2012 Jeremy
Fonte. Vse pravice pridržane.
Ta koda je izdana pod
MIT licenca:

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

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

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

// nastavitvena rutina se zažene enkrat, ko pritisnete reset:
void setup () {
// inicializiramo digitalni pin kot
izhod.
pinMode (8, IZHOD)
pinMode (9, IZHOD)
pinMode (10, IZHOD)
pinMode (11, IZHOD)

digitalWrite (9, VISOKO)
}

// rutinska zanka teče vedno znova in znova:
void loop () {
r = r + ri
g = g + gi
b = b + bi

če (r> 255) {
r = 255
ri = -1 * naključno (1, 3)
}
sicer če (r<0) {
r = 0
ri = naključno (1, 3)
}

če (g> 255) {
g = 255
gi = -1 * naključno (1, 3)
}
sicer če (g<0) {
g = 0
gi = naključno (1, 3)
}

če (b> 255) {
b = 255
bi = -1 * random(1, 3)
}
sicer če (b<0) {
b = 0
bi = random(1, 3)
}

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




Prejšnja: Arduino Musical Tune Generator Circuit Naprej: Arduino LCD KeyPad Shield (SKU: DFR0009) Podatkovni list