come semplificare ed abbreviare

leo72:
A questo punto l'array che ti consigliava Dandovino ...

:fearful:

leo72:

allarme = 79200

intervallo = 0
incremento = 300
....
void loop() {
...
if ((secondi>allarme+incremento) && (secondi<allarme+(incremento9)) { // è scattata l'ora e non ho dimmerato 9 volte
  analogWrite(pin, step
incremento);
  incremento++
  if (incremento>9) { //stop
    incremento=0
    fatto=true
  }
}

Già ma cosi gestisci solo intervalli regolari !

Con un array gestisci un orario esatto, fermo restando che trasformare l'orario in un unico dato long è sempre vivamente consigliato.