Débutant en programmation et fonction de base.

En tout cas cette partie:

if (hour() == 7) { //entre 7:00:00 et 7:59:59
analogWrite (pwm1, val_up*0.8); //allumage progressif
}
else if (hour() == 21) { //entre 20:00:00 et 20:59:59
analogWrite (pwm1, val_down*0.8); // extinction progressive
}

ne fait rien de progressif donc attention.