Arduino náhodný obvod generátoru světla RGB

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





Článek pojednává o jednoduchém obvodu generátoru světelných efektů Arduino s červenou, zelenou a modrou LED v náhodném vzoru.

V jednom z dřívějších příspěvků jsme narazili na podobný obvod generátoru efektů RGB LED využívající Arduino, který byl naprogramován na výrobu plynulý postupný účinek , zatímco zde lze očekávat, že nastavení generuje náhodně se měnící efekt RGB LED.



Je vyžadován hardware

Co budete potřebovat pro vytvoření tohoto systému:

1) Deska Arduino



2) RGB LED

3) Rezistor 220 Ohm 1/4 watt

4) Jednotka adaptéru 9V AC na DC

Jakmile získáte výše uvedené jednotky, jde pouze o programování Arduino IC s následujícím ukázkovým kódem a následnou integraci LED, rezistoru a napájecího zdroje s deskou Arduino, jak je znázorněno níže:

Arduino náhodný obvod generátoru světla RGB

Jak zapojit Arduino pomocí LED

Nastavení se zdá být přesně podobné tomu našemu předchozí projekt RGB Arduino , ano, je to tak, s výjimkou programu, který byl nyní změněn pro generování náhodného světelného efektu RGB LED, spíše než dřívější sekvenčně plynoucí barevný efekt RGB.

Zde použitá LED je 5 mm 30 mA RGB LED, která má produkovat docela vysoké osvětlení, ale pro provoz více čísel LED ze stejné sestavy možná budete muset použít tranzistorové ovladače přes pin # 8, 10, 11, což vám umožní přidat mnoho RGB LED paralelně s navrhovaným náhodným barevným efektem.

Kód

Ukázkový kód pro výše vysvětlený obvod barevného generátoru Arduino RGB je uveden níže:

*
RGB LED náhodně
barva
Zobrazuje a
sekvence náhodných barev na RGB LED
Jeremy
Zdroj
Copyright (c)
2012 Jeremy Fonte. Všechna práva vyhrazena.
Tento kód je
vydané pod licencí MIT:
https://opensource.org/licenses/MIT
* /
//one variable for each of red, green, and blue
int r = 0
int g = 0
int b = 0
// the setup routine runs once when you press reset:
void setup() {
// initialize
the four digital pins as outputs.
pinMode(8,
OUTPUT)
pinMode(9,
OUTPUT)
pinMode(10,
OUTPUT)
pinMode(11,
OUTPUT)
digitalWrite(9, HIGH)
}
// the loop routine runs over and over again forever:
void loop() {
r = random(0,
255)
g = random(0,
255)
b = random(0,
255)
analogWrite(8,
r)
analogWrite(10, g)
analogWrite(11, b)
delay(1000)
}




Předchozí: Automatické stopky pro běžce, sportovce a sportovce Další: Blikající červený, zelený železniční signalizační obvod