Zum Hauptinhalt

Abschnittsübersicht

        • 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

            }

          }