Das sollte evtl. so funktionieren:
Code:
digitalWrite(yellow, HIGH); // gelbe Led an ?
zeit = millis() + 5000; // aktueller Zeitwwert + deine maximale Wartezeit 5 Sekunden
do // Schleifen
{
if (analogValue < 50) break; // Abbruch der Schleife wenn der Analogwert < 50 wird
} while (millis() < zeit); // ansonsten weiterschleifen bis millis den Wert von zeit überschreitet
// landet hier wenn die Zeit abgelaufen ist und/oder Analogwert kleiner 50 geworden ist.
digitalWrite(yellow, LOW); // gelbe Led aus ?
must natürlich dafür sorgen, das dein Analogwert noch innerhalb der Schleife irgendwie aktualisiert wird.
Siro
Lesezeichen