Menu
CoddyTech

Pflanzenmonitor: Statusleuchte

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

Niemand kann einen Prozentwert von der anderen Seite des Raums ablesen. Ein farbiges Licht ist auf einen Blick zu erkennen: rot, wenn die Pflanze Wasser braucht, grün, wenn alles in Ordnung ist, blau, wenn sie zu viel Wasser hat.

Die Statusleuchte ist eine RGB-LED: drei LEDs, rot, grün und blau, in einem Gehäuse, an den Pins 9, 10 und 6. Ihr gemeinsamer Anschluss ist mit Masse verbunden, daher leuchtet ein Kanal, wenn sein Pin HIGH ist. Eine Farbe zurzeit bedeutet, dass ein Pin HIGH und die anderen beiden LOW sind.

Drei Bereiche, drei Farben: dieselbe Struktur aus if / else if / else wie beim Parksensor, diesmal von unten beginnend:

if (moisture < 30) {
  // trocken: rot
} else if (moisture <= 70) {
  // optimal: grün
} else {
  // nass: blau
}

Schalte zuerst alle drei Kanäle aus. Andernfalls mischt sich ein noch leuchtendes Rot von vorher mit dem neuen Grün, und das Licht wird gelb.

challenge icon

Aufgabe

Einfach

Füge die Statusleuchte hinzu:

  • Die Pins 9 (rot), 10 (grün) und 6 (blau) sind Ausgänge
  • unter 30 %: nur rot
  • 30 % bis 70 %: nur grün
  • über 70 %: nur blau

Aktualisiere sie nach jeder Messung. Drücke Starten, drehe am Knopf und klicke dann auf Überprüfen.

Probier es selbst

// Der Drehknopf dient als Ersatz für einen Bodenfeuchtesensor
const int sensorPin = A0;

// Die Bodenfeuchtigkeit in Prozent: 0 bedeutet knochentrocken, 100 bedeutet klatschnass.
int readMoisture() {
  int reading = analogRead(sensorPin);
  return map(reading, 0, 1023, 0, 100);
}

void setup() {
  Serial.begin(9600);
}

void loop() {
  int moisture = readMoisture();
  Serial.print("Moisture: ");
  Serial.print(moisture);
  Serial.println("%");
  delay(1000);
}
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 Projekte

Übe selbstständig: Arduino-Playground