Skip to main content

Section outline

    • int led = 8; //Variable, in der gespeichert wird, an welchem Pin die LED angeschlossen ist.

      int messwert = 0; //Variable, in der der Messwert gespeichert wird.

       

      void setup() {

      pinMode(led, OUTPUT); //Pin, an dem die LED angeschlossen ist wird als Ausgabe (OUTPUT) definiert.

      }

       

      void loop() {

       

        //In die Variable messwert, wird der aktuelle Messwert des Sensors geschrieben, der an A0 angeschlossen ist.

        messwert=analogRead(A0);

       

        //Werte werden mit der map()-Funktion angepasst (zur Ermittlung der Werte in der map() Funktion müssen die Sensoren vorher mit einem Hilfsprogramm kalibriert werden)

        messwert = map(messwert,452,113,0,100);

       

        Serial.print("Feuchtigkeits-Messwert: "); //Ausgabe des...

        Serial.println(messwert); //...Messwerts im seriellen Monitor.

       

        //Um Strom zu sparen ist es sinnvoll hier eine Zeit (in Millisekunden) anzugeben, wie oft der Messwert abgefragt werden soll. DIes ist die Reaktionszeit der Ampel- Soll die Ampel sofort reagieren, muss der Befehl gelöscht werden.

        delay(2000);

       

       

        //Im Folgenden schaltet die Sonnenblume bei einer Bodenfeuchte kleiner als 20% ihre LED an. Passen Sie diesen Wert Ihren Wünschen an.

        if(messwert < 20) {  //Wenn der Messwert kleiner als 20% ist, sollte die Pflanze gegossen werden.

          digitalWrite(led, HIGH);  //Schaltet die LED ein

        }

        if(messwert > 20){//Wenn der Messwert größer als 20% ist, sollte die Pflanze gegossen werden.

          digitalWrite(led, LOW); //Schaltet die LED ein

        }

      }