display impazzito!

Togli tutti i delay

if (currentTime - previousTime > interval)  {
    previousTime = currentTime;
    digitalWrite(rele2, LOW) ;  // Accende la ventola
   
     for (int n=0; n<175; 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(20000); // aspetto 20 secondi
 
    digitalWrite(rele2, HIGH) ;  // Spegne la ventola
  }

Qua ci sono 2 errori:
Il for non comprende delay(calcolaVelocita()); percui prima si muove e poi viene il ritardo. Il for é cosí veloce che é uguale come se mettesti il servo direttamente a 175 senza passi intermedi.
E il delay(20000) blocca tutto per 20 secondi.

Ciao Uwe