Day 20: Plant Guard

Behind the door is an NTC resistor (Negative Temperature Coefficient) that measures the temperature. Together with the photo transistor and a few wires, we are going to build a plant guard that alerts us, when a plant it is monitoring is exposed to bad conditions. We will use the following setup besides the program of today.

Der Pflanzenwächter

The plant guard

The two yellow wires are just simple wires that can be inserted into the potting soil. They are used to monitor the level of moisture in the soil. During our initial tests, we will just touch the two wires with a finger.

Der heutige Flow

The Flow

Today you can import the flow straight into the Node-RED environment, but not without disabling previous ones and adjust the topic. The out topic will receive a JSON string that looks similar to this:

{"cmd":"get_hum_state","Light":3903,"Temp":368,"HUMIDITY":45}

Light, temperature and humidity data are sent. Light here is a relative value in the range of 0 to 4095; the same is true for the humidity measured. Temperature values are also sent using this value range. But because you can’t do anything with this value, we have a function node that converts the values t o Celsius. The values  are displayed conveniently in the user interface. Besides the indicator, we also have a few controls there.

Das Userinterface des Pflanzenwächters

User interface of the plant guard

The controls are used to define the thresholds for measurements. You can define the minimum and the maximum value. In case you don’t want limit values, you can also set the control to an extreme position, which the board will never be able to measure. For example, if you do not want that an alarm is triggered at night because the light intensity is too low, set the minimum control simply to -1.

In the case that one of the limits is exceeded, the matching switch node will be triggered and a message is prepared and then output via the UI. Because most of the time these messages are not opened, you can also enter your email data into the email node. This will send an email reminder that you should water the plant or provide better lighting conditions. That’s how you can even turn a simple houseplant into a smart plant.

13 Comments

  1. Bernd

    Hat nach den hier vorgeschlagenen Änderungen super funktioniert. Ich habe auch gleich noch ein Longtime-Chart mit eingefügt.

    Reply
  2. paulaner

    Noch einen Offset Node in den Humidity Pfad eingefügt, da das ganze mit einem Meßgerät kalibriert ist und es keinen Trimmer/Poti dafür gibt.

    Das selbe könnte man auch für Temperatur und Beleuchtung machen und statt Trimmer Festwiderstände mit geringer Toleranz und Wärmekoeffizienten nehmen, aber ich will ja mit dem Adventskalender und seinen Experimenten nicht übers Ziel schiessen.

    Reply
  3. paulaner

    Habe fertig

    Reply
  4. Ray

    Mit kleinen Anpassungen schaut es bei mir auch ganz gut aus:
    1) In der Function "ADC to Temperatur (C)" hab ich nach Zeile 9 eine Zeile ergänzt:
    Temp = Temp +30;
    2) nach dem Brightness Template eine Function Node eingehängt, um kleine Werte=Dunkel am unteren und große=Hell am oberen Ende der Skala anzuzeigen:
    var Bright = msg.payload;
    Bright = 4095 – Bright;
    msg.payload = Bright;
    return msg;
    Das Temperatur-Poti ist dabei fast am linken, das Helligkeits-Poti am rechten Anschlag.

    Reply
    1. Martin Klein

      Vielen Dank ! Das schaut jetzt natürlich viel besser aus !
      Viele Grüße
      Martin Klein

      Reply
  5. paulaner

    Bild 2

    Reply
  6. paulaner

    Erste Korrektur:

    Bauteile auch mit 103 beschriftet, also 10k.
    Ich habe diese Schaltung angewand.

    Vorteil, zeigt jetz Zimmertemperatur an und auch bei dem Fühler mit negativen Koeffizenten wird bei Erhöhung der Temperatur dies auch korrekt angezeigt.

    Reply
  7. Daniel

    Hallo zusammen,

    da in den Schaltbildern die Poti immer mit 104, die echten Bauteile bei mir aber mit 103 beschriftet sind muss ich jetzt doch mal fragen was denn nun korrekt ist.

    Gibt es vielleicht eine Liste aller im Kalender enthaltenen Teile (inkl. Kennwerte)?
    @fk: Verbesserungsvorschlag für nächstes Jahr: Die Werte + ggf. Bezeichnung der jeweiligen Beinchen im Text zum jeweiligen Tag einpflegen.

    Viele Grüße

    Reply
    1. rsoldie

      das mit dem poti hätte mich auch interressiert ebenso was es mit der meldung im debugfenster "error:eacces" auf sich hat.
      mfg
      rs

      Reply
  8. paulaner

    Hallo,

    erste Eindrücke, sorry aber nicht ausgereift!

    – Temperatur, trotz 10k Einsteller max/min -7°C – -25°C !!!
    – Brightness sollte doch auch wenn es um Phantasiewerte geht, nicht jeder hat Messmittel zum abgleichen zu Hause in lux angegeben werden.

    Auch hier empfehle ich die Hardware (Schaltung) und den Flow anzupassen!!!

    Wenn ich auch etwas 'vorgelesen' habe, sollte der 22. Tag nach diesen folgen, man erspart sich das lästige umstecken. Statt der 2 Drähte den Luftfeuchtesensor und natürlich das Flow des Tages.
    Die Reihenfolge ist, von wem auch immer etwas unglücklich gewählt.

    Reply
  9. Peter

    Bei Zimmertemperatur zeigt die UI bei mir -7.4° Celsius an. Wenn ich den NTC-Widerstand mit den Fingern anwärme, steigt die Temperatur an – es wird also offensichtlich etwas gemessen.

    Im Debug-Fenster schwankt der Temp-Rohwert um 1840 herum.

    Hat jemand ein ähnliches Problem?

    LG, Peter

    Reply
    1. Kikovius

      Hallo Peter,

      ja, das ist bei mir ähnlich (-9,6°C bei 2020).

      Viele Grüße

      Reply
    2. nochsoeiner

      Hier auch. -7°C.

      Hat jemand eine Idee, woran es liegt?

      Reply

Leave a Comment

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.