Artikkelissa käsitellään yksinkertaista, Arduino-punaisen, vihreän, sinisen LED-valotehosigeneraattorin virtapiiriä satunnaisessa kuviossa.
Yhdessä aikaisemmista viesteistä törmäsimme samanlaiseen RGB LED -efektigeneraattoripiiriin, jossa käytettiin Arduinoa, joka oli ohjelmoitu tuottamaan vaikutus juoksevalla peräkkäisellä tavalla , kun taas tässä asennuksen voidaan odottaa tuottavan satunnaisesti muuttuvia RGB-LED-tehosteita.
Laitteisto vaaditaan
Mitä tarvitset tämän järjestelmän luomiseen:
1) Arduino-lauta
2) RGB-LED
3) 220 ohmin 1/4 watin vastus
4) 9 V: n vaihtovirta-DC-sovitinyksikkö
Kun olet hankkinut yllä olevat yksiköt, kyse on vain Arduino IC: n ohjelmoimisesta seuraavalla näytekoodilla ja sitten LED: n, vastuksen ja virtalähteen integroimisella Arduino-korttiin alla olevan kuvan mukaisesti:
Kuinka kytkeä Arduino LED: llä
Perustettu näyttää olevan täsmälleen samanlainen kuin meidän edellinen RGB Arduino -projekti kyllä, niin on, paitsi ohjelmaa, jota on nyt muutettu satunnaisen RGB LED -valotehosteen tuottamiseksi aikaisemman peräkkäin virtaavan RGB-väritehosteen sijaan.
Tässä käytettävä LED on 5 mm: n 30 mA: n RGB-LED, jonka on tarkoitus tuottaa melko korkea valaistus, mutta useamman sarjan LEDien käyttämiseksi samasta kokoonpanosta saatat joutua käyttämään transistoriohjaimia nastojen # 8, 10, 11, jonka avulla voit lisätä useita RGB-LED-valoja ehdotetun satunnaisen väritehosteen rinnalla.
Koodi
Edellä esitetyn Arduino RGB -värigeneraattoripiirin mallikoodi on esitetty alla:
*
RGB-LED satunnainen
väri-
Näyttää a
satunnainen väri RGB-LEDillä
kirjoittanut Jeremy
Lähde
Tekijänoikeus (c)
2012 Jeremy Fonte. Kaikki oikeudet pidätetään.
Tämä koodi on
julkaistu MIT-lisenssillä:
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)
}
Edellinen: Automaattisen sekuntikellon tekeminen juoksijoille, urheilijoille ja urheilijoille Seuraava: Vilkkuva punainen, vihreä rautatielampun piiri