commander un moteur avec une condition

Bonjours, j'ai un problème avec mon programme, lorsque je lance mon programme, la boucle ne s'applique que à un moteur. Je m'explique, j'ai un capteur altimétrique. Tant que le capteur n'atteint pas sa consigne alors les moteurs tournent dans le sens horaire. Lorsqu'il l'a dépasse, dans le sens anti-horaire. Mais seul un moteur change de sens lorsque l'altimètre affiche une hauteur supérieur à sa consigne, qu'est ce qui ne va pas?

void loop() {
float dist = mesureDistance();
erreur = setpoint - dist;
float sortie = Kp*erreur;
Serial.println(erreur);
moteur1->setSpeed(0);//
moteur2->setSpeed(0);
moteur3->setSpeed(0);
moteur4->setSpeed(0);
if (sortie > 0) //
moteur1->run(FORWARD);
moteur2->run(FORWARD);
//moteur3->run(FORWARD);
//moteur4->run(FORWARD);
if (sortie < 0)
moteur1->run(BACKWARD);
moteur2->run(BACKWARD);
//moteur3->run(BACKWARD);
//moteur4->run(BACKWARD);
moteur1->setSpeed(200);
moteur2->setSpeed(200);
//moteur3->setSpeed(155);
//moteur4->setSpeed(155);
delay(dt);

Bonjour

Il manque les accolades

if (sortie > 0) // 
{
   moteur1->run(FORWARD);
   moteur2->run(FORWARD);
   //moteur3->run(FORWARD);
   //moteur4->run(FORWARD);
}
 if (sortie < 0)
{
   moteur1->run(BACKWARD);
   moteur2->run(BACKWARD);
   //moteur3->run(BACKWARD);
   //moteur4->run(BACKWARD);
}

Je vais essayer
Merci :slight_smile: