Zwischenfarben
Teil des Abschnitts Ausgaben der Arduino-Journey von Coddy. Lektion 9 von 24.
Die Pins 11, 10 und 9 haben alle ein ~, sodass jede Farbe der RGB-LED mit analogWrite() gedimmt werden kann. Jeder Kanal reicht von 0 bis 255, und durch das Mischen von drei Stufen erhält man weit mehr als acht Farben:
- Orange: Rot 255, Grün 80, Blau 0
- Lila: Rot 128, Grün 0, Blau 255
- ein sanftes Weiß: alle drei auf 60
Ändere setColor() so, dass analogWrite() verwendet wird; die Parameter geben dann Helligkeitsstufen an:
void setColor(int red, int green, int blue) {
analogWrite(redPin, red);
analogWrite(greenPin, green);
analogWrite(bluePin, blue);
}Deshalb sind die Farbanschlüsse mit Pins mit ~ verbunden: An einem anderen Pin könnte die Farbe nur ein- oder ausgeschaltet sein.
Aufgabe
EinfachÄndere setColor(), sodass die Funktion analogWrite() verwendet, und zeige dann immer wieder:
- Orange (255, 80, 0) für eine Sekunde
- Lila (128, 0, 255) für eine Sekunde
Drücke Ausführen und dann Überprüfen.
Probier es selbst
const int redPin = 11;
const int greenPin = 10;
const int bluePin = 9;
void setup() {
pinMode(redPin, OUTPUT);
pinMode(greenPin, OUTPUT);
pinMode(bluePin, OUTPUT);
}
void setColor(int red, int green, int blue) {
digitalWrite(redPin, red);
digitalWrite(greenPin, green);
digitalWrite(bluePin, blue);
}
void loop() {
// eine Sekunde lang Orange (255, 80, 0), dann eine Sekunde lang Violett (128, 0, 255)
}
Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Ausgaben
Übe selbstständig: Arduino-Playground