Ich hatte mich jetzt auch bemüht, wenn auch nicht so elegant wie von my_xy_projekt
bool alarm = false;
unsigned long millisMerker;
unsigned long beepMillisMerker;
unsigned long beepInterval=1000;
unsigned long dauerBisRepeat=20000;
unsigned long alarmDauer=10000;
void setup() {
Serial.begin(115200);
Serial.println("Start");
}
void loop() {
if (millis() - millisMerker > dauerBisRepeat && !alarm) {
alarm = true; Serial.println("Alarm!");
millisMerker = millis();
}
if (millis() - millisMerker > alarmDauer && alarm) {
alarm = false; Serial.println("Alarm abgelaufen!");
millisMerker = millis();
}
if (millis() - beepMillisMerker > beepInterval && alarm){
Serial.println("Beep ");
beepMillisMerker = millis();
}
}