Servo movimento lento

Salve a tutti,
per l’ applicazione su un mio progetto ho la necessità di far ruotare lentamente un servomotore
per l’ apertura e la chiusura di uno sportello;
Nello sketch che segue il servo si muove lentamente da 0 a 45°, invece nel ritorno (da 45 a 0°) lo fa
velocemente…non riesco a capire per quale motivo. Grazie.

#include <Servo.h>
Servo myservo;
int velocita = 50; // Un valore da 0 a 100 (da lento a veloce)
void setup()
{
  myservo.attach(9);
  myservo.writeMicroseconds(1500); // Imposto il servo al centro
}

void loop() 
{
  for (int n=0; n<45; n++) // Rotazione 45 gradi, un grado per volta
  {
    myservo.write(n); // Faccio muovere il servo di un grado
    delay(calcolaVelocita()); // Imposto il ritardo prima del movimento
  }
  delay(1000); // Attendo prima di ricominciare da capo
  
  for (int n=45; n<0; n--) // Rotazione -45 gradi, un grado per volta
   {
    myservo.write(n); // Faccio muovere il servo di un grado
    delay(calcolaVelocita()); // Imposto il ritardo prima del movimento
  }
}
int calcolaVelocita()
{
  return (map(velocita,0,100,120,20));
}
for (int n=45; n<0; n--)

non dovrebbe essere n>=0?

E' vero (svista) grazie uwefed!