radiocomando rc motor shield rev3

si molto megliola lettura tag,scusa ma non ne conoscevo l'esistenza.
finalmente inizio a vedere qualche piccolo risultato,ho modificato questo:

adj_val1 = map(constrain(durata, 1600, 1900), low1, high1, 0, 255);
constrain(adj_val1, 0, 255);
e questo:
Serial.print("dura: ");
Serial.print(durata);
Serial.print("ch1: ");
Serial.print(adj_val1);
Serial.print(" ");
Serial.print("rc1: ");
Serial.print(servo1_val);
Serial.print(" ");
Serial.print("loop counter: ");
Serial.print(n);
Serial.println(" ");
ora però quando gli dò solo un inpulso avanti il motore gira in avanti senza variare velocità e senza fermarsi,poi dò un colpetto indietro e il motore inverte il senso di rotaione ma senza mai variare velocità e senza mai fermarsi.funziona un pò come un invertitore di marcia a piena velocità che come un variatore di velocità,non sò se mi sono spiegato.
ecco il serial:

dura: 2018ch1: 255 rc1: 0 loop counter: 0
dura: 1860ch1: 242 rc1: 0 loop counter: 0
dura: 3531ch1: 255 rc1: 0 loop counter: 0
dura: 6336ch1: 255 rc1: 0 loop counter: 0
dura: 1511ch1: 159 rc1: 0 loop counter: 0
dura: 1484ch1: 159 rc1: 0 loop counter: 0
dura: 1570ch1: 159 rc1: 0 loop counter: 0
dura: 1992ch1: 255 rc1: 0 loop counter: 0
dura: 3315ch1: 255 rc1: 0 loop counter: 0
dura: 1507ch1: 159 rc1: 0 loop counter: 0
dura: 1621ch1: 166 rc1: 0 loop counter: 0
dura: 1964ch1: 255 rc1: 0 loop counter: 0
dura: 5891ch1: 255 rc1: 0 loop counter: 0
dura: 1482ch1: 159 rc1: 0 loop counter: 0
dura: 1494ch1: 159 rc1: 0 loop counter: 0
dura: 1619ch1: 165 rc1: 0 loop counter: 0
dura: 1955ch1: 255 rc1: 0 loop counter: 0
dura: 6742ch1: 255 rc1: 0 loop counter: 0
dura: 1523ch1: 159 rc1: 0 loop counter: 0
dura: 1505ch1: 159 rc1: 0 loop counter: 0
dura: 1602ch1: 160 rc1: 0 loop counter: 0
dura: 5377ch1: 255 rc1: 0 loop counter: 0
dura: 6878ch1: 255 rc1: 0 loop counter: 0
dura: 1515ch1: 159 rc1: 0 loop counter: 0
dura: 1598ch1: 159 rc1: 0 loop counter: 0
dura: 1957ch1: 255 rc1: 0 loop counter: 0
dura: 5622ch1: 255 rc1: 0 loop counter: 0
dura: 1392ch1: 159 rc1: 0 loop counter: 0
dura: 1989ch1: 255 rc1: 0 loop counter: 0
dura: 1610ch1: 162 rc1: 0 loop counter: 0
dura: 5622ch1: 255 rc1: 0 loop counter: 0
dura: 10210ch1: 255 rc1: 0 loop counter: 0
dura: 1527ch1: 159 rc1: 0 loop counter: 0
dura: 1482ch1: 159 rc1: 0 loop counter: 0
dura: 1578ch1: 159 rc1: 0 loop counter: 0
dura: 5789ch1: 255 rc1: 0 loop counter: 0
dura: 1497ch1: 159 rc1: 0 loop counter: 0
dura: 1511ch1: 159 rc1: 0 loop counter: 0
dura: 1621ch1: 166 rc1: 0 loop counter: 0
dura: 1569ch1: 159 rc1: 0 loop counter: 0
dura: 6553ch1: 255 rc1: 0 loop counter: 0
dura: 1510ch1: 159 rc1: 0 loop counter: 0
dura: 1476ch1: 159 rc1: 0 loop counter: 0
dura: 1602ch1: 160 rc1: 0 loop counter: 0
dura: 1069ch1: 159 rc1: 0 loop counter: 0
dura: 2013ch1: 255 rc1: 0 loop counter: 0
dura: 1507ch1: 159 rc1: 0 loop counter: 0
dura: 1615ch1: 164 rc1: 0 loop counter: 0
dura: 1502ch1: 159 rc1: 0 loop counter: 0
dura: 6316ch1: 255 rc1: 0 loop counter: 0
dura: 1410ch1: 159 rc1: 0 loop counter: 0
dura: 1511ch1: 159 rc1: 0 loop counter: 0
dura: 1599ch1: 159 rc1: 0 loop counter: 0
dura: 1085ch1: 159 rc1: 0 loop counter: 0
dura: 6094ch1: 255 rc1: 0 loop counter: 0

edit: misono accorto che ho messoda 1600 -1900 anzichè 1100-1900

adj_val1 = map(constrain(durata, 1100, 1900), low1, high1, 0, 255);
constrain(adj_val1, 0, 255);

ora che l'ho cambiato fa lo stesso scherzo solo che quando gira in avanti gira veloce(PWM 255 +- fisso),mentre quando gira indietro(PWM basso) però sempre senza mai fermarsi.
PS.:non funziona più il tag code me lo copia cosi...