ich bin etwas ratlos. Mein Arduino liest den Temparaturwert eines Sensors aus und zeigt diesen entsprechend auf einem Display an.
Wenn dieser Wert über 35 Grad liegt wird eine Aktion gestartet, nur das Problem ist diese Aktion (Alarmierung, Mail was auch immer) immer wieder ausgeführt wird.
Könnte mir jemand ein Beispiel zeigen mit einer IF - Bedingung die nur 1x ausgeführt wird? Ich habe viele viele Beispiele im Netz probiert aber keines davon hat bislang geklappt.
Benutze eine Statusvariable.
Ist die Bedingung erfüllt (Temperatur höher als 35°C) und die Statusvariable null dann mache die Aktion und setze die Statusvariable 1.
Wenn die Bedingung dann wieder nicht erfüllt ist (Temperatur wieder niedriger) dann setze die Satusvariable null.
Grüße Uwe
Das ist dann aber wirklich nur einmal im ganzen Ablauf. Wenn du die Funktion wieder freischalten willst wenn die Temperatur einen bestimmten Wert unterschritten hat, kannst du runFunction wieder auf true setzen.
wenn ich Dich richtig verstehe, soll diese aktion nicht nur einmal ausgeführt werden, sondern immer, wenn der wert überschritten wird.
falls es so ist:
mach Dir eine statusvariable namens verschickt, setze sie im setup auf false.
wenn der wert über 35 grad liegt, starte Deine aktion nur, falls verschickt auf false steht, und setze in diesem fall die variable auf true.
wenn der wert unter 34 grad sinkt, setze die variable auf false, falls sie auf true steht.
das mit dem unterschied zwischen 34 und 35 grad bewirkt, daß Dein mail beim leichten pendeln um 35 grad nicht dauernd verschickt wird.