Arduino RGB Fließender sequentieller Lichtkreis

Versuchen Sie Unser Instrument, Um Probleme Zu Beseitigen





Diese sequentielle Arduino RGB-Lichtgeneratorschaltung erzeugt ein gleichmäßig fließendes rotes, grün-blaues Muster über der angeschlossenen RGB-LED.

Bei der hier verwendeten LED handelt es sich um eine vierpolige 30-mA-RGB-LED vom Typ mit gemeinsamer Anode. Dies bedeutet, dass dem gemeinsamen Stift für diese LED für die erforderlichen Vorgänge ein kontinuierliches Plus zugewiesen werden muss. Die LEDs, die als gemeinsame Kathode spezifiziert sind, benötigen ein kontinuierliches Negativ oder Masse für die RGB-Beleuchtung.



Die für dieses Projekt erforderliche Hardware:

Ein Arduino UNO Board.
Ein Widerstand von 220 Ohm, 1/4 Watt
Eine RGB-, 5 mm-, 30-mA-LED (gemeinsamer Anodentyp)
Verbindungsdrähte
Lötkolben,
9V Adapter AC / DC

Die Verbindungsdetails der vorgeschlagenen sequentiellen RGB-LED-Lichtschaltung unter Verwendung von Arduino sind im obigen Diagramm zu sehen.



Die Anschlüsse sind recht einfach zu implementieren. Stecken Sie einfach die LED-Kabel in die Pinbelegung des Arduino Burg, schalten Sie die Steckdose um und visualisieren Sie die RGB-LED, auf der die rote, grüne und blaue Leuchte nacheinander leuchtet.

Der Code ist vollständig an die individuellen Einstellungen und Auswahlmöglichkeiten anpassbar.

Code:

Der Skizzencode für diese sequentielle RGB-LED-Lichtstromschaltung ist wie folgt angegeben:

/ *
RGB LED Farbfluss
Zeigt eine [ziemlich] glatte an
Farbfolge auf einer RGB-LED

von Jeremy Fonte
Copyright (c) 2012 Jeremy
Fonte. Alle Rechte vorbehalten.
Dieser Code wird unter dem veröffentlicht
MIT-Lizenz:

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

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

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

// Die Setup-Routine wird einmal ausgeführt, wenn Sie auf Zurücksetzen klicken:
void setup () {
// Initialisiere den digitalen Pin als
eine Ausgabe.
PinMode (8, OUTPUT)
PinMode (9, OUTPUT)
PinMode (10, OUTPUT)
PinMode (11, OUTPUT)

digitalWrite (9, HIGH)
}}

// Die Schleifenroutine läuft immer und immer wieder:
void loop () {
r = r + ri
g = g + gi
b = b + bi

if (r> 255) {
r = 255
ri = -1 * zufällig (1, 3)
}}
sonst wenn (r<0) {
r = 0
ri = zufällig (1, 3)
}}

if (g> 255) {
g = 255
gi = -1 * zufällig (1, 3)
}}
sonst wenn (g<0) {
g = 0
gi = zufällig (1, 3)
}}

if (b> 255) {
b = 255
bi = -1 * zufällig (1, 3)
}}
sonst wenn (b<0) {
b = 0
bi = zufällig (1, 3)
}}

analogWrite (8, r)
analogWrite (10, g)
analogWrite (11, b)
Verzögerung (20)
}}




Zurück: Arduino Musical Tune Generator Circuit Weiter: Arduino LCD KeyPad Shield (SKU: DFR0009) Datenblatt