Průběžný sekvenční světelný obvod Arduino RGB

Vyzkoušejte Náš Nástroj Pro Odstranění Problémů





Tento obvod sekvenčního generátoru světla Arduino RGB vygeneruje hladce tekoucí červený, zeleně modrý vzor přes připojenou RGB LED.

Zde použitá LED je čtyřpinová 30mA RGB LED, běžný typ anody, což znamená, že společnému pinu pro tuto LED bude muset být přidělen nepřetržitý kladný signál pro požadované operace. LED diody, které jsou specifikovány jako společná katoda, vyžadují nepřetržité záporné nebo uzemnění pro RGB osvětlení.



Hardware požadovaný pro tento projekt:

Jedna deska Arduino UNO.
Jeden 220 ohm, 1/4 wattový rezistor
Jedna RGB, 5 mm, 30 mA LED (běžný typ anody)
Propojte dráty
Páječka,
9V adaptér AC / DC

Podrobnosti o připojení navrhovaného sekvenčního světelného obvodu RGB LED pomocí Arduina lze vidět na výše uvedeném schématu.



Připojení je velmi snadné implementovat, stačí vložit LED diody do pinů Arduino burg, přepnout napájecí zásuvku a vizualizovat RGB LED, která postupně svítí červeně, zeleně, modře.

Kód je plně přizpůsobitelný podle individuálních preferencí a výběrů,

Kód:

Kód náčrtu pro tento RGB LED sekvenční proudící světelný obvod najdete níže:

/ *
Tok barev RGB LED
Zobrazí [celkem] hladký
sekvence barev na RGB LED

Jeremy Fonte
Copyright (c) 2012 Jeremy
Fonte. Všechna práva vyhrazena.
Tento kód je vydán pod
Licence MIT:

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

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

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

// instalační rutina se spustí jednou, když stisknete reset:
void setup () {
// inicializujte digitální pin jako
výstup.
pinMode (8, VÝSTUP)
pinMode (9, VÝSTUP)
pinMode (10, VÝSTUP)
pinMode (11, VÝSTUP)

digitalWrite (9, HIGH)
}

// rutina smyčky běží znovu a znovu navždy:
void loop () {
r = r + ri
g = g + gi
b = b + bi

if (r> 255) {
r = 255
ri = -1 * náhodný (1, 3)
}
jinak pokud (r<0) {
r = 0
ri = náhodný (1, 3)
}

if (g> 255) {
g = 255
gi = -1 * náhodné (1, 3)
}
jinak pokud (např<0) {
g = 0
gi = náhodný (1, 3)
}

if (b> 255) {
b = 255
bi = -1 * náhodné (1, 3)
}
jinak pokud (b<0) {
b = 0
bi = náhodné (1, 3)
}

analogWrite (8, r)
analogWrite (10, g)
analogWrite (11, b)
zpoždění (20)
}




Předchozí: Arduino Musical Tune Generator Circuit Další: Datasheet Arduino LCD KeyPad Shield (SKU: DFR0009)