Aus meiner Kiste:
const unsigned long timerZeit = 1UL * 60 * 1000; // zeit in mS: Minuten * Sekunden * Grundlage == mS
const unsigned long pauseZeit = 5UL * 1000; // Zeit in mS: Sekunden * Grundlage == mS
const unsigned long tik = 1000; // Sekundentakt
unsigned long laufZeit = timerZeit;
unsigned long startZeit;
bool ausgabe = false;
void setup()
{
Serial.begin(115200);
Serial.println(F("Start..."));
startZeit = millis();
Serial.println(F("0 ms"));
}
void loop()
{
// Berechnen und umschalten zwischen timer und Pause
if (millis() - startZeit >= laufZeit)
{
Serial.print(F("Laufzeit abgelaufen! StartZeit: "));
startZeit = millis();
if (laufZeit == timerZeit)
laufZeit = pauseZeit;
else
laufZeit = timerZeit;
Serial.print(startZeit);
Serial.print(F(" Laufzeit: "));
Serial.println(laufZeit);
}
// Ausgabe
if ((millis() - startZeit) % tik == 0)
{
if (!ausgabe)
{
Serial.println(millis() - startZeit);
ausgabe = true;
}
}
else
{
ausgabe = false;
}
}
Ausbauen musst Du es Dir selbst. ![]()
Und das mit dem % ist ne Krücke, die für die Ausgabe ausreicht. Für eine Berechnung nicht verwenden!