Delays sind generell keine gute Lösung, da während dieser Zeit kein Befehl mehr vom Arduino angenommen wird
Möchtest du dennoch bei denn Delays bleiben, kannst du doch eine Pause per delay von 58 Sekunden eilegen.
Edit:
Mit der Genauigkeit des Arduino ist es aber nicht weit her.
Um eine Uhr zu steuern, sollte eine RTC verwendet werden, die eine gute Genauigkeit liefert.