Menu
CoddyTech

Drehknopf-Dimmer

Teil des Abschnitts Ausgaben der Arduino-Journey von Coddy. Lektion 5 von 24.

Ein Drehknopf liefert analogRead() eine Zahl von 0 bis 1023, und analogWrite() erwartet 0 bis 255. Die beiden Wertebereiche stimmen nicht überein, also wandle den einen mit map() in den anderen um:

int reading = analogRead(A0);
int brightness = map(reading, 0, 1023, 0, 255);
analogWrite(9, brightness);

Wenn du den Drehknopf ganz herunterdrehst, ergibt sich 0 und die LED ist aus; drehst du ihn ganz auf, ergibt sich 1023, was zu 255 wird – die LED leuchtet mit voller Helligkeit. Jede Position dazwischen ergibt eine Helligkeit dazwischen.

Den Messwert direkt an die LED zu schreiben, funktioniert nicht: analogWrite() akzeptiert nur Werte von 0 bis 255, daher führt ein Messwert wie 600 zu einer falschen Helligkeit.

challenge icon

Aufgabe

Einfach

Der Drehknopf ist an A0 und die LED an Pin 9 angeschlossen. Lass den Drehknopf die Helligkeit einstellen:

  • lies den Drehknopf aus
  • wandle den Messwert mit map() in einen Wert von 0 bis 255 um
  • schreibe den Wert auf die LED und warte dann 10 ms

Klicke auf Run und drehe den Drehknopf, dann auf Check.

Probier es selbst

const int knobPin = A0;
const int ledPin = 9;

void setup() {
  pinMode(ledPin, OUTPUT);
}

void loop() {
  // Lies den Drehknopf aus, skaliere den Wert auf 0..255 und gib ihn an die LED aus
}
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