ich habe in Zeile in der bei einem bestimmten Wert der Pin 9 bei dem Wert zwischen 2.98 und 3.02 angesprochen wird. Ist dieser Befehl erledigt, ist es soweit in Ordnung. Jetzt habe ich einen weiteren Wert zwischen 5.00 und 5.10 in einer weiteren Zeile festgelegt. Aber dieser wird nicht ausgeführt, weil der erste wahrscheinlich bearbeitet wurde. Ich weiß nicht wie ich das Problem löse, das die Zeile zwischen mit dem Wert zwischen 5.00 und 5.10 ausgeführt wird, wenn die erste Zeile mit dem Wert zwischen 2.98 und 3.02 ausgeführt wurde oder auch nicht.
Genau, es soll nicht dauernd blinken. Nur nach den Befehlen wie angegeben.
Ja, das habe ich auch gerade bemerkt, als ich am Ende das ganze wieder zurückgesetzt habe. Also done = false gesetzt habe. Also den Ausgangszustand wieder eingesetzt habe, das done weggelassen werden kann.
In dem anderen Thread ging es darum, dass das „Vibrieren“ nur einmalig ausgeführt wird. done (wie erledigt) wird nach Ausführung auf true gesetzt. Jetzt musst du dir selber im Ablauf klar werden, ab wann das vibrieren wieder ausgeführt werden darf. Und dort setzt du done wieder auf false.
Im Notfall halt einen zweiten Merker wie done erstellen, für den zweiten Bereich.
Da es keinen Programmablaufplan gibt, musst du festlegen, oder erklären, ab wann die Einmalausführung wieder aufgehoben werden soll. Und dementsprechend im Code integrieren.
Du könntest z.B. auch im Else-Zweig done auf false setzen.
Schau dir auch mal else if (…) an. Das spart dir dann ein else.
Ich gucke dort auch nochmal rein. Genau, ich habe es durch die letzten Tage etwas nachvollzogen und erweitere das jetzt immer etwas.
Mit dem Ablaufplan dachte ich mir auch schon. Ob der Befehl eine Zeile vorher oder nachher abgerufen wird. Danke Dir.