generatore di forma d'onda variabile per rampa d'avvio/arresto driver stepper

buongiorno a tutti,
avrei bisogno di una mano per favore,
sto utilizzando la funzione delayMicroseconds per generare un treno di impulsi che invia gli step al driver di controllo di un motore passo passo, (PoStep25-32)
580 ms corrispondono alla massima velocità,
1500 ms alla minima
esempio

if ( encoderValue > 100 && encoderValue < 5000)  
digitalWrite(ledPin2, HIGH);   // turn the LED on (HIGH is the voltage level)
  delayMicroseconds(580);               // wait for a second
  digitalWrite(ledPin2, LOW);    // turn the LED off by making the voltage LOW
  delayMicroseconds(580);   // turn the LED off by making the voltage

è possibile fare in modo che in un tempo preimpostato passi “automatcamente” da 1500 ms a 580 ms?