Menu
CoddyTech

Servo-Lichtanzeige

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

Mit einem Zeiger an seinem Arm wird ein Servo zu einer Anzeige, wie dem Tachometer im Auto. Hier zeigt sie an, wie hell es ist.

Wie beim Nachtlicht liest das AO-Modul bei hellerem Licht einen niedrigeren Wert aus: etwa 1023 im Dunkeln und nahe 0 bei voller Helligkeit. Eine Anzeige sollte bei größerer Helligkeit höher ausschlagen, daher läuft die Umrechnung rückwärts. Wie beim Lichtmesser gibst du map() den neuen Bereich umgekehrt an:

int angle = map(reading, 0, 1023, 180, 0);

Ein Messwert von 0, also volle Helligkeit, wird zu 180 Grad, und 1023, also Dunkelheit, wird zu 0. Alle Werte dazwischen liegen dazwischen, nur umgekehrt.

challenge icon

Aufgabe

Mittel

Der AO des Lichtsensors ist an A0 und das Servo an Pin 9 angeschlossen. Verwandle den Arm in eine Lichtanzeige:

  • Bei Dunkelheit zeigt der Arm auf 0 Grad, bei vollem Licht auf 180 Grad
  • Verwende map() mit dem neuen Bereich in umgekehrter Richtung
  • Gib den Winkel aus und warte jedes Mal 50 ms

Drücke Run und bewege den Lichtregler am Sensor, dann Check.

Probier es selbst

#include <Servo.h>

const int lightPin = A0;
Servo arm;

void setup() {
  arm.attach(9);
  Serial.begin(9600);
}

void loop() {
  // Lichtwert einlesen, umgekehrt auf 180..0 abbilden, den Arm bewegen, den Winkel ausgeben
}
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