Menu
CoddyTech

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.

challenge icon

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)
}
quiz iconTeste dich selbst

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