4 servos : fonctionne pas

Alors la carte est alimentée en 9V.
Et les servos sont alimentés avec 4 piles AA 1.5V, avec une diode pour baisser la tension a 5.4V.
J'ai branché mes servos sur les ports 5,6,9,10 de l'arduino.
avec un code simple sans liaison série, les 4 servos tournent. Mais vaec le code de la liason série, ça ne fonctionne pas. Personne n'aurait quelques lignes de code pour moi ?

Voila mon code :

#include <Servo.h>

#define LTSERVOPIN  10
#define RTSERVOPIN  9
#define LBSERVOPIN  6
#define RBSERVOPIN  5

Servo LTServo; 
Servo RTServo; 
Servo LBServo; 
Servo RBServo;
int speed = 100; //sets the speed of the robot (both servos) a percentage between 0 and 100
int ledState;
int MotorState;

void setup() 
{
  // Initialisation liaison série
  Serial.begin(9600);
  
  pinMode(13,OUTPUT);            // LED en SORTIE
  
  SetSpeed(speed);                         // Sélection d'\une vitesse
  pinMode(LTSERVOPIN, OUTPUT);   // Servo Gauche Haut en SORTIE
  pinMode(RTSERVOPIN, OUTPUT);   // Servo Droit Haut en SORTIE
  pinMode(LBSERVOPIN, OUTPUT);   // Servo Gauche Bas en SORTIE
  pinMode(RBSERVOPIN, OUTPUT);   // Servo Droit Bas en SORTIE
  LTServo.attach(LTSERVOPIN);    // Attache le Servo Gauche Haut
  RTServo.attach(RTSERVOPIN);    // Attache le Servo Droit  Haut
  LBServo.attach(LBSERVOPIN);    // Attache le Servo Gauche Bas
  RBServo.attach(RBSERVOPIN);    // Attache le Servo Droit Bas
  GoStop();                                     // Stop des Servos
}


void loop()
{

  // test if a new value has been received
  if (Serial.available())
  {
    // update without any control
    char valeur = Serial.read();  


    if (valeur == 'Z') {  //  TOUCHE Z
      ledState = HIGH;
        MotorState = 'Forward';
    }
    else{
      ledState = LOW;
        MotorState = 'Stop';
    }
    digitalWrite(13,ledState);


switch (MotorState) {
case 'Forward': 
GoForward();
break;
case 'Stop': 
GoStop();
break;
  }
 }


}


void SetSpeed(int NewSpeed){
  if(NewSpeed >= 100) {NewSpeed = 100;}     // Si la vitesse > 100 alors on lui attribue 100
  if(NewSpeed <= 0) {NewSpeed = 0;}         // Si la vitesse < 0 alors on lui attribue 0
  speed = NewSpeed * 0.9;                   // Dimensionne la vitesse entre 0 et 100
}

/*
 * Fait avancer le robot
 */
void GoForward(){
 LTServo.write(180);
 RTServo.write(180);
 LBServo.write(180);
 RBServo.write(180);
}

/*
 * Fait reculer le robot
 */
void GoBackward(){
 LTServo.write(90 - speed);
 RTServo.write(90 + speed);
 LBServo.write(90 - speed);
 RBServo.write(90 + speed);
}
  
/*
 * Fait pivoter à droite le robot
 */
void GoRight(){
 LTServo.write(90 + speed);
 RTServo.write(90 + speed);
 LBServo.write(90 + speed);
 RBServo.write(90 + speed);
}

/*
 * Fait pivoter à gauche le robot
 */
void GoLeft(){
 LTServo.write(90 - speed);
 RTServo.write(90 - speed);
 LBServo.write(90 - speed);
 RBServo.write(90 - speed);
}

/*
 * Stop le robot
 */
void GoStop(){
 LTServo.write(90);
 RTServo.write(90);
 LBServo.write(90);
 RBServo.write(90);
}