RTC statt delay

Definiere eine Variable mit der Minute in welcher Dein Code ausgeführt werden soll. (minute = 20)
Hol Dir in loop() einfach von der RTC immer die Minuten und vergleiche den Wert mit der Variablen.
Wenn RTC.minute == gemerket_minute (z.B. Minute 30), dann führe Deinen Code aus und setze die Variable auf den nächsten Minutenwert.
minute = (minute + 30) % 60
Dann vergleichst Du wieder wie oben den aktuellen Wert mit Deiner Variable.

Was passiert bei der Rechnung?

minute = 20
minute = minute + 30 = 50
minute = minute + 30 = 80 <- falscher Minuten Wert.
minute = (minute + 30) % 60 = 20 <- richtiger Minutenwert.

Das klappt übrigens mit beliebigen Abständen zwischen 1 und 60, nicht aber mit Werten größer als eine Stunde.

Mario.