controllo posizionamento 2 motori dc con motoriduttori con encoder

Salve a tutti, ho necessità di regolare due variac con due motori distinti motoridotti.
Per pilotare questi due motori ho una scheda a 2 canali L298n e ovviamente Arduino Mega, ho pensato di comandare i 2 motori rispettivamente con 2 encoder per attuare il posizionamento, quindi, girando l'encoder, diciamo di un quarto di giro, anche il variac deve avanzare di un quarto di corsa ovviamente nelle due direzioni, ma voglio anche che, visto lo switch dell'encoder, effettuare la regolazione fine o grossa del variac, cioè, in condizioni normali l'encoder effettua la regolazione grossa e quindi far girare il motore ad una certa velocità, se premo il pulsante effettuare la regolazione fine, quindi abbassando la velocità del motore per poi ritornare alla regolazione grossa se premo nuovamente il pulsante, volevo anche mettere un 1 led bicolore per ogni encoder a segnalare se stò in modalità fine oppure grossa, aggiungendo anche 2 finecorsa per ogni variac digitali agli estremi per non oltrepassare la corsa (faccio solo esempio di un finecorsa, ovviamente vale anche per il secondo) cioè, se girando orario si arriva a impegnare il finecorsa mi blocca chiaramente il moto per quel senso ma, ovviamente, mi faccia andare solo in senso antiorario, al disimpegno dello stesso riabilita la rotazione nel senso orario e il ciclo si ripete.
Quindi avrei bisogno di uno sketch da inserire in arduino.
Non ho trovato nulla in rete che soddisfi la mia richiesta e chi meglio di voi può soddisfarla.
Grazie a chi mi aiuterà