Arduino Pause einfügen?
Hi, ich möchte gern das der Code pausiert bis mein analogValue wieder unter 100 kommt dann soll der nächste Schritt stattfinden.
Beispiel:
N0D1 sollte dadurch das, dass analogValue kurz unter 100 fällt Aktivert werden und dann solange leuchten bis das analogValue wieder unter 100 fällt und somit N1D1 aktiviert werden sollte.
Code:
void loop()
{
Value;
if (analogValue < 100)
{
D1OFF;
delay (5);
N0D1;
}
Value;
if (analogValue < 100)
{
D1OFF;
delay (5);
N1D1;
}
}
2 Antworten
Du meinst, immer wenn 100 unterschritten wird, soll ein Schritt passieren?
Dann brauchst Du erst mal eine Flankenauswertung, damit beim unterschreiten nur ein Zyklus etwas passiert. Dieser wird beim überschreiten oder nach Zeit wieder zurück gesetzt...
Dann einen Schrittzähler, damit Du weißt, welcher der nächste Schritt ist und einen Schrittmerker. Die If-Bedingung muss dann jeweils den Schritt und die Flanke abfragen.
Beispiel als Anweisung:
Wenn "<100 und Flankenmerker OFF" dann "Flankenmerker ON, Schrittmerker ON und Schritt +1 zählen";
Wenn ">100" dann "Flankenmerker OFF";
Wenn "Schritt 1 UND Schrittmerker ON" dann "mache....und Schrittmerker OFF";
Wenn "Schritt 2 UND Schrittmerker ON" dann "mache was anderes und Schrittmerker OFF";
Beim letzten Schritt dann noch Schrittzähler zurück setzen, damit irgendwann wieder Schritt 1 beginnen kann. Der Schrittmerker ist für die einmalige Abarbeitung des Schritt, und der Flankenmerker ist für die einmalige Abarbeitung der erkannten Änderung unter 100...
Du meinst sowas?
while(analogValue>100){
nix
}
rest vom Code