voilà , j'ai changé comme ceci
la roue A avec l'encodeur A
void EncoderInitA()
{
DirectionA = true;//default -> Forward
pinMode(encoderApinB,INPUT);
pinMode(encoderApinA,INPUT);
attachInterrupt(3, wheelSpeedA, CHANGE);
attachInterrupt(7, wheelSpeedA, CHANGE);
}
void wheelSpeedA()
{
volatile byte LstateA = digitalRead(encoderApinA);
volatile byte LstateAB = digitalRead(encoderApinB);
if(encoderAPinALast == LOW && LstateA==HIGH && encoderAPinBLast == HIGH && LstateAB==LOW)
{
volatile byte valA = digitalRead(encoderApinB);
if(valA == LOW && DirectionA)
{
DirectionA = false; //Reverse
}
else if(valA == HIGH && !DirectionA)
{
DirectionA = true; //Forward
}
}
encoderAPinALast = LstateA;
encoderAPinBLast = LstateAB;
if(!DirectionA) durationA++;
else durationA--;
}
et pareil avec la roue B
oid EncoderInitB()
{
DirectionB = true;//default -> Forward
pinMode(encoderBpinB,INPUT);
pinMode(encoderBpinA,INPUT);
attachInterrupt(2, wheelSpeedB, CHANGE);
attachInterrupt(4, wheelSpeedB, CHANGE);
}
void wheelSpeedB()
{
volatile byte LstateB = digitalRead(encoderBpinA);
volatile byte LstateBB = digitalRead(encoderBpinA);
if(encoderBPinALast == LOW && LstateB==HIGH && encoderBPinBLast == HIGH && LstateBB==LOW)
{
volatile byte valB = digitalRead(encoderBpinB);
if(valB == LOW && DirectionB)
{
DirectionB = false; //Reverse
}
else if(valB == HIGH && !DirectionB)
{
DirectionB = true; //Forward
}
}
encoderBPinALast = LstateB;
encoderBPinBLast = LstateBB;
if(!DirectionB) durationB++;
else durationB--;
}
en n'oubliant pas ceci dans le setup
volatile byte encoderAPinBLast;
volatile byte encoderBPinBLast;
et bizarrement j'ai la roue A qui va plus doucement que la roue B .
La vitesse détectée pour la roue A est instable alors qu'elle ne saccade pas( à l'oeil nu)
Et la roue A est détecté à une vitesse negative quand l'autre est positive.
Mais est-ce que dans le principe c'est bon?
Je mets les vitesses perçues pour les moteurs avec LD (dernière vitesse de A) et LDb (dernière vitesse de 
LDB-50.00Db: -9.00-12.00-16.00Vb92.85
LD49.00D : 8.0012.0016.00V85.25
LDB-50.00Db: -9.00-13.00-17.00Vb92.85
LD51.00D : 8.0011.0016.00V73.20
LDB-50.00Db: -9.00-13.00-17.00Vb92.85
LD50.00D : 8.0011.0014.00V80.20
LDB-51.00Db: -8.00-12.00-16.00Vb89.80
LD50.00D : 8.0011.0013.00V78.20
LDB-49.00Db: -9.00-13.00-17.00Vb97.85
LD51.00D : 11.0014.0018.00V75.15
LDB-51.00Db: -9.00-13.00-17.00Vb87.80
LD52.00D : 9.0012.0014.00V74.05
LDB-50.00Db: -10.00-14.00-18.00Vb94.80
LD54.00D : 8.0011.0014.00V69.85
LDB-51.00Db: -9.00-13.00-17.00Vb89.75