Menu
CoddyTech

Lichtmesser

Teil des Abschnitts Eingaben der Arduino-Journey von Coddy. Lektion 22 von 22.

In dieser Lektion fügst du alles zusammen: einen Lichtmesser, der die Lichtstärke als Prozentwert ausgibt und auf einem Balken aus drei LEDs anzeigt, wie die Signalbalken eines Telefons.

Teile die Aufgabe in Funktionen auf, von denen jede eine Aufgabe erledigt, damit loop() wie eine Beschreibung aussieht:

void loop() {
  int percent = lightPercent();
  showLevel(percent);
  // den Prozentwert ausgeben
}

lightPercent() liest den Lichtwert des Lichtmoduls über AO aus und gibt einen Wert von 0 (dunkel) bis 100 (hell) zurück. AO sinkt, wenn die Lichtstärke steigt, also bilde den Wert umgekehrt ab: map(reading, 0, 1023, 100, 0) wandelt 1023 in 0 und 0 in 100 um.

showLevel(int percent) weist jeder LED des Balkens einen eigenen Schwellenwert zu: Die erste leuchtet oberhalb von 25, die zweite oberhalb von 50, die dritte oberhalb von 75. Jede braucht ihr eigenes else, damit der Balken wieder schrumpfen kann, wenn das Licht schwächer wird.

challenge icon

Aufgabe

Mittel

Der AO-Anschluss des Lichtmoduls ist mit A0 verbunden, und die LEDs der Balkenanzeige sind an den Pins 10, 11 und 12 angeschlossen:

  • int lightPercent(): 0 bei Dunkelheit, 100 bei hellem Licht
  • void showLevel(int percent): Pin 10 leuchtet über 25, Pin 11 über 50, Pin 12 über 75
  • Rufe in loop() beide Funktionen auf, gib den Prozentwert aus und warte 200 ms

Drücke Run, bewege den Lichtregler und klicke dann auf Check.

Probier es selbst

const int lowPin = 10;
const int midPin = 11;
const int highPin = 12;

// Schreibe int lightPercent() hier

// Schreibe void showLevel(int percent) hier

void setup() {
  pinMode(lowPin, OUTPUT);
  pinMode(midPin, OUTPUT);
  pinMode(highPin, OUTPUT);
  Serial.begin(9600);
}

void loop() {
  // Lies den Lichtwert als Prozentwert ein, zeige ihn auf der Balkenanzeige an, gib ihn aus und warte 200 ms
}
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 Eingaben

Übe selbstständig: Arduino-Playground