Schritt 4: Arduino Code
Hinweis: Ich habe nicht diesen Code selbst schreiben ist ein altes Projekt von mir wo lieh ich mir diesen einfachen Code zu lernen. Ich weiß aber nicht den ursprünglichen Autor. Aber ich denke, dass es von Sparkfun-Starter-Kit für das Lernen zu RGB-LEDs zu verwenden ist.
Die Verkabelung ist so, dass ich mit eine gemeinsamen Anode (Gemeinsamkeiten). Können Sie leicht eine gemeinsame Kathode Setup aber du musst den Code um die Hochs und Tiefs umzukehren ändern. Der Arduino sinkt die Anoden auf seinem Grundstück und steuert jedes einzelnen RGB-Kanal mit Hilfe der PWM Pins (Digital) 9, 10, 11. Es spielt keine Rolle, in welcher Reihenfolge. Ich habe einen 100 Ohm Widerstand (1/2 W) vor jede LED. Ich wusste nicht wie, wie es mit einem höheren Wert war schwach, und da jede LED ist nur für einen kurzen Zeitraum hinweg es ist nicht allzu groß ein Geschäft. Ich weiß, dass ist nicht der richtige Wert zu verwenden, aber es scheint zu funktionieren am besten.
Es sei darauf hingewiesen, dass es spielt keine Rolle, welchen Pin Sie mit dem RGB-Pin verbunden. Damit meine ich Sie können grün, blau und rot an rot und blau zu grün und es wird noch Arbeit (oder eine beliebige Kombination). Alles, was es tun wird ist Änderung angezeigt, welche Farben zu welchem Zeitpunkt in der Zeit, wie der Code durchlaufen jede Kombination sowieso.
wie auch immer, hier ist der Arduino Code unten:
Int rot = 9; ROTEN Pin der LED PWM Pin 9
Int grün = 10; GRÜNEN Stift der LED PWM Pin 10
Int blau = 11; BLAUEN Stift der LED PWM Pin 11
Int DELAY_TIME = 10; Geschwindigkeit der Veränderungen des Verwelkens
Int MAX_BRIGHT = 255; stellt maximale Helligkeit, 255 max. Helligkeit
Int COLOR_MIX = 0; Variable, die Farben ändern, die in der Switch-Anweisung gemischt werden
void Fade_in(int x) //loop, die allmählich die LED leuchtet mit PWM
{
Int Zähler;
für (Zähler = 0; entgegen < X; Zähler ++)
{
Led_mixer (COLOR_MIX, Zähler);
Delay(DELAY_TIME);
}
}
void Fade_out(int x) //loop, die allmählich die LED erlischt mit PWM
{
Int Zähler;
für (Zähler = Zähler > 0, X; Zähler--)
{
Led_mixer (COLOR_MIX, Zähler);
Delay(DELAY_TIME);
}
}
void Led_mixer (Int Farbe, Int X) //uses-Switch-Anweisung Farbkombinationen mischen
{
Switch(Color)
{
Fall 0:
AnalogWrite (rot, X);
zu brechen;
Fall 1:
AnalogWrite (grün, X);
zu brechen;
Fall 2:
AnalogWrite (blau, X);
zu brechen;
Fall 3:
AnalogWrite (blau, X);
AnalogWrite (grün, X);
zu brechen;
Fall 4:
AnalogWrite (rot, X);
AnalogWrite (blau, X);
zu brechen;
Fall 5:
AnalogWrite (rot, X);
AnalogWrite (grün, X);
zu brechen;
Standard:
AnalogWrite (grün, X);
AnalogWrite (blau, X);
AnalogWrite (rot, X);
zu brechen;
}
}
void setup()
{
nichts für setup
}
void loop() //loop für immer
{
fade_in(MAX_BRIGHT); Schalten Sie nach und nach die LED ein, um Max. Helligkeit
fade_out(MAX_BRIGHT); Schalten Sie nach und nach die LED
COLOR_MIX ++; erhöhen Sie, um die nächste Farbkombination
If(COLOR_MIX == 7) //if allen Farbkombinationen angezeigt worden, Zurücksetzen den Zyklus
{
COLOR_MIX = 0;
}
}