Artikkelen diskuterer en enkel, Arduino rød, grønn, blå LED-lyseffektgeneratorkrets i et tilfeldig mønster.
I et av de tidligere innleggene kom vi over en lignende RGB LED-effektgeneratorkrets med Arduino som var programmert til å produsere effekt på en flytende sekvensiell måte , mens her kan oppsett forventes å generere tilfeldig skiftende RGB LED-effekt.
Maskinvare kreves
Hva du trenger for å lage dette systemet:
1) Et Arduino-styre
2) En RGB-LED
3) En motstand på 220 ohm 1/4 watt
4) En 9V AC til DC adapter enhet
Når du har anskaffet enhetene ovenfor, handler det bare om å programmere Arduino IC med følgende eksempelkode, og deretter integrere LED, motstand og strømforsyningen med Arduino-kortet som vist nedenfor:
Hvordan koble Arduino med LED
Oppsettet ser ut til å være nøyaktig lik vårt forrige RGB Arduino-prosjekt , ja det er slik, bortsett fra programmet som nå er endret for å generere en tilfeldig RGB LED-lyseffekt i stedet for den tidligere sekvensvis flytende RGB-fargeeffekten.
LED-en som brukes her er en 5mm 30 mA RGB LED, som skal produsere ganske høy belysning, men for å betjene flere LED-lamper fra samme oppsett må du kanskje bruke transistordrivere over pinnen # 8, 10, 11 som kan tillate deg å legge til mange RGB-lysdioder parallelt med den foreslåtte tilfeldige fargeeffekten.
Koden
Eksempelkoden for den ovenfor forklarte Arduino RGB-fargeneratorkretsen er gitt nedenfor:
*
RGB LED tilfeldig
farge
Viser a
rekkefølgen av tilfeldige farger på en RGB-LED
av Jeremy
Kilde
Copyright (c)
2012 Jeremy Fonte. Alle rettigheter forbeholdes.
Denne koden er
utgitt under MIT-lisensen:
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)
}
Forrige: Å lage et automatisk stoppeklokke for løpere, idrettsutøvere og sportspersoner Neste: Blinkende rød, grønn jernbanesignallampekrets