Arduino wie kann ich eine Verzögerung für ein Blink-Programm programmieren?
ich möchte das Blinken um 45 Minuten verzögern und wenn es dann Blinkt, soll das Blinken durch drücken eines Tasters gestoppt werden und die Wartezeit bis zum Blinken soll wieder bei Null beginnen.
Weiß hier jemand wie man das macht?
Also der Wechselblinker der im Wechsel die LEDs blinken lässt funktioniert bereits
void setup() // wir starten mit dem Setup
{
pinMode(5, OUTPUT); // Pin 5 ist ein Ausgang.
pinMode(7, OUTPUT); // Pin 7 ist ein Ausgang.
}
void loop() // das Hauptprogramm beginnt.
{
digitalWrite(5, HIGH); // schalte die LED an Pin 5 an.
delay(200); // warte 200 Millisekunden.
digitalWrite(5, LOW); // schalte die LED an Pin 5 aus.
digitalWrite(7, HIGH); // Schalte die LED an Pin 7 ein.
delay(200); // warte 200 Millisekunden.
digitalWrite(7, LOW); // schalte die LED an Pin 7 aus.
}
1 Antwort
Geh in eine Warteschleife und zähle mit Millis die vergangene Zeit.
uint32_t startTime = millis();
while(millis()-startTime < 2700000);
Stopt die Ausführung für 45min. Wenn du erneut startTime=millis(); ausführst dann kannst du das Delay wieder zurück auf 45min setzen.
Allerdings gibt es hier ein Overflowproblem nach etwa 50Tagen. Die Frage ist aber ob deine Anwendung so lange am Stück laufen wird.