allora ho fatto una prova non so neanche io per quale motivo ma m'è venuta d'istino
eliminando questa parte di codice il lampeggio riprende a funzionare regolermente anche se poi ovviamente non va più tutto il resto
val1 = pulseIn(luciPosIn, HIGH);
val2 = pulseIn(fariLungIn, HIGH);
val3 = pulseIn(frecceIn, HIGH);
val4 = pulseIn(lampIn, HIGH); //Possibile non necessario!!
val5 = LOW;
stopInS = digitalRead(stopIn);
retroInS = digitalRead(retroIn);
questo spezzone è inserito nel void loop
quindi mi sorge la domanda, cosa è sbagliato? e se c'è un altro metodo
ovviamente le porte 0 e 1 le ho liberate