RGB Crossfade Library

Die Crossfade-Library von Radek Wierzbicki ist aus einem Arduino Artikel zum Thema Crossfade entstanden. Sie ermöglicht es unter anderem Farben zu definieren, und zwar nach dem Schema:

RGBColor white = RGBColor(100, 100, 100);

Die Werte werden in Prozent angegeben, das Maximum ist also 100.

Quellen:

Crossfade-Library 

 Auf Github in Unterordner Libraries/RGB-LED

Diese Farben können dann per Crossfade-Befehl oder per setColor-Befehl ausgegeben werden.

Funktionen der Library:

  • RGBLED(int redPin, int greenPin, int bluePin, int hold, int wait, int commonAnode);
  • void crossfade(RGBColor &color);
  • void setColor(RGBColor &color);
  • void setIntensity(int intensity);
  • void setCrossfadeWait(int wait);
  • void setCrossfadeHold(int hold);

In der Initialisierungsfunktion RGBLED werden in den ersten drei Parametern die einzelnen Pins angegeben, an denen die Farben liegen. Danach folgen die Festlegung der Standartwere für Hold und Wait. Zuletzt kann man noch festlegen ob die RGB-LED eine gemeinsame Anode (int = 1)  oder Kathode (int = 0) hat. Dies ist wichtig, da bei einer gemeinsamen Anode die PWM-Werte umgekehrt werden müssen.

Mit Wait (gesetzt über setCrossfadeWait oder Standardwert) kann man die Länge eines Fadeübergangs einstellen. Diese Zeit ist ungefähr in Sekunden zu verstehen.

Mit Hold (setCrossfadeHold oder Standardwert) kann man eine Wartezeit nach einem Fadevorgang festlegen. In einem Programm mit mehren Fadevorgängen also nützlich, um die Farben eine weile Verweilen zu lassen.

Sowohl Wait als auch Hold verwenden Delays. Also sollte man vorsichtig bei zeitkritischen Vorgängen sein.

Mit setIntensity legt man die gesamte Helligkeit fest. Das Maximum ist 100. Die Änderungen der Helligkeit wird erst sichtbar, wenn ein neuer setColor oder crossfade Befehl ausgeführt wird.