Variar velocidad

Este500:
ahi esta el codigo completo

como ya mencione en el post intente hacerlo con delay pero solo lee el 1er valor y recien cambiar cuando se resetea

no se pero yo haria esto

void setup() {
 // iniciar lo que tengas que iniciar

}

void loop() {
int val_pot= analogRead(potenciometro);//leyendo el voltaje en el pin analogico del potenciometro(obteniendo tiempo)
 for(int i =0;i<255;i++){//aumentar brillo
   analogWrite(leds,i);
   funcion_retardo(val_pot/10);//tratamiento matemático retardo
   }
 for(int i =255;i>255;i--){//disminuir brillo
   analogWrite(leds,i);
   funcion_retardo(val_pot/10);//tratamiento matemático retardo
   }
}

yo asumo que puedes tener el valor de la la lectura del potenciómetro de 1024 valores, dividido en 10 puedes hacer una funcion que haga retardos en milisegundos , es decir el marimo retardo seria 102mS*255=26010mS, es decir 26 segundos tardaría en alcanzar el máximo brillo, puedes cambiar el pwm a que suba de dos en dos y tardaría solo 13 segundos, no se si me explico y si es lo que necesitas.
Saludos.