Problème d'erreur à la vérification du code

Bonjour
Je suis un Papy BOOMER, donc je bug!
je construit un robot pour mes petits enfants, et j’utilise un code réalisé par Thonain Youtub
quand je vérifie le code il me donne une erreur :exit statut 1 et missing terminating " character
j’aimerais que le père noël soit efficace .
alors un petit coup de main serais le bien venu.
je vous joint le code
Merci de votre aide
jehan14

// ROBOT  THONAIN
#include <AFMotor.h>
AF_DCMotor motorsG(1);
AF_DCMotor motorsD(2);

#define trigPinAvant 9 // defini les broches du capteur central Avant
#define echoPinAvant 10 

#define trigPinDroit A5 // defini les broches du capteur DROIT
#define echoPinDroit A4

#define trigPinGauche A3 // defini les broches du capteur GAUCHE
#define echoPinGauche A2 

void setup() {
Serial.begin(9600); // pour afficher des données à l'écran si besoin

pinMode(trigPinAvant, OUTPUT);// envoie les ultra-sons AVANT CENTRAL  

pinMode(echoPinAvant, INPUT);// recoit l'echo AVANT CENTRAL

pinMode(trigPinDroit, OUTPUT);// envoie les ultra-sons DROIT
pinMode(echoPinDroit, INPUT);// recoit l'echo DROIT

pinMode(trigPinGauche, OUTPUT);// envoie les ultra-sons GAUCHE
pinMode(echoPinGauche, INPUT);// recoit l'echo GAUCHE
motorsD.run(RELEASE);
motorsG.run(RELEASE);

// initialise la broches Analog In A0 en pin OUTPUT pour faire du son
pinMode(A0, OUTPUT);

delay (3000); // POUR PAS QUE LE ROBOT DEMARRE dès la mise sous 
tension
 for (int compteur=0;compteur<=100; compteur=compteur+1) // ALARME 
SONORE de demmarage
  {
  digitalWrite(A0, 255); 
  delay(1);        
  digitalWrite(A0, LOW);
  delay(1); 
  digitalWrite(A0, 255); 
  delay(1);        
  digitalWrite(A0, LOW);
  delay(1); 
  }
}

void loop() {

long duration, distance; // MESURE OBSTACLE FRONTAL AVANT 
digitalWrite(trigPinAvant, LOW); 
delayMicroseconds(2);
digitalWrite(trigPinAvant, HIGH); 
delayMicroseconds(10);
digitalWrite(trigPinAvant, LOW); 
duration = pulseIn(echoPinAvant, HIGH); 
distance = (duration/2) / 29.1;// converti la distance en cm 

if (distance < 18)/* TESTE SI OBSTACLE FRONTAL AVANT A MOINS DE 18CM */ 
{ 
   Serial.println ("DETECTION OBSTACLE FRONTAL" ); // si besoin d'afficher 
infos
   Serial.print ("DISTANCE " ); 
   Serial.print ( distance); 
   Serial.print ( " CM!"); 
   Serial.println ("CORRIGER TRAJECTOIRE"); 
   motorsD.run(RELEASE);
   motorsG.run(RELEASE);
   for (int compteur=0;compteur<=100; compteur=compteur+1) // ALARME 
SONORE OBSTACLE
  {
  digitalWrite(A0, 255); 
  delay(1);        
  digitalWrite(A0, LOW);
  delay(1); 
  digitalWrite(A0, 255); 
  delay(1);        
  digitalWrite(A0, LOW);
  delay(1); 
  }
   delay(5);
   long duration, distance; // MESURE SI OBSTACLE A DROITE
   digitalWrite(trigPinDroit, LOW); 
   delayMicroseconds(2);
   digitalWrite(trigPinDroit, HIGH); 
   delayMicroseconds(10); 
   digitalWrite(trigPinDroit, LOW); 
   duration = pulseIn(echoPinDroit, HIGH); 
   distance = (duration/2) / 29.1;// converti la distance en cm 
   
       if (distance < 40)/* TESTE SI OBSTACLE A DROITE A MOINS DE 40CM 
*/  { 
       Serial.println ("DETECTION OBSTACLE à droite" ); 
       Serial.print ("DISTANCE " ); 
       Serial.print ( distance); 
       Serial.print ( " CM!"); 
       Serial.println ("NE PAS TOURNER A DROITE"); 
       delay(500);

       long duration, distance; // MESURE SI OBSTACLE A GAUCHE
       digitalWrite(trigPinGauche, LOW); 
       delayMicroseconds(2); 
       digitalWrite(trigPinGauche, HIGH); 
       delayMicroseconds(10);
       digitalWrite(trigPinGauche, LOW); 
       duration = pulseIn(echoPinGauche, HIGH); 
       distance = (duration/2) / 29.1;// converti la distance en cm 
       
           if (distance < 40)/* TESTE SI OBSTACLE A GAUCHE A MOINS DE 
40 CM */ { 
           Serial.println ("DETECTION OBSTACLE à gauche" ); 
           Serial.print ("DISTANCE " ); 
           Serial.print ( distance); 
           Serial.print ( " CM!"); 
           Serial.println ("NE PAS TOURNER A GAUCHE-FAIRE MARCHE ARRIERE + 
DEMI TOUR; 
           delay(500);
           motorsD.run(BACKWARD); // RECULE LENTEMENT
           motorsG.run (BACKWARD);
           motorsG.setSpeed(100); 
           motorsD.setSpeed(100);
           delay(1500);

           motorsD.run(FORWARD); // FAIT DEMI TOUR 
           motorsG.run (BACKWARD);
           motorsG.setSpeed(200); 
           motorsD.setSpeed(200);
           delay(1500); // AJUSTER DUREE du DELAY SELON TENSION ACCU ET 
TESTURE DU SOL
           }
           else { // TOURNE A GAUCHE
           motorsD.run(FORWARD); 
           motorsG.run (BACKWARD);
           motorsG.setSpeed(200); 
           motorsD.setSpeed(200);
           delay(800);// AJUSTER DUREE du DELAY SELON TENSION ACCU ET 
TESTURE DU SOL
           motorsD.run(RELEASE);
           motorsG.run(RELEASE);
           delay(1500); 
           }
      
       }  
      else { // TOURNE A DROITE
      motorsD.run(BACKWARD); 
      motorsG.run (FORWARD);
      motorsG.setSpeed(200); 
      motorsD.setSpeed(200);
      delay(800);// AJUSTER DUREE du DELAY SELON TENSION ACCU ET TESTURE 
DU SOL
      motorsD.run(RELEASE);
      motorsG.run(RELEASE);
      delay(1500); 
           }       
}       
else { // PAS OBSTACLE DEVANT DONC MARCHE AVANT 
// MESURE OBSTACLE A DROITE AVEC AFFECTATION COEFF MOTEURS GAUCHE ! 
(CMG)
   delay(5);
   long duration, distance; // MESURE OBSTACLE A DROITE
   digitalWrite(trigPinDroit, LOW); 
   delayMicroseconds(2);
   digitalWrite(trigPinDroit, HIGH); 
   delayMicroseconds(10);
   digitalWrite(trigPinDroit, LOW); 
   duration = pulseIn(echoPinDroit, HIGH); 
   distance = (duration/2) / 29.1;// converti la distance en cm 
   if (distance > 13) { 
   motorsG.run(FORWARD); 
   motorsG.setSpeed(200);
   }
   else {
   float CMG = ((4+(distance-7))/10);
   motorsG.run(FORWARD); 
   motorsG.setSpeed(200*CMG);
   }

// MESURE OBSTACLE A GAUCHE AVEC AFFECTATION COEFF MOTEUR DROITS 
!(CMD)
      delay(5);
      //long duration, distance; // MESURE OBSTACLE A GAUCHE
      digitalWrite(trigPinGauche, LOW); 
      delayMicroseconds(2); 
      digitalWrite(trigPinGauche, HIGH); 
      delayMicroseconds(10);
      digitalWrite(trigPinGauche, LOW); 
      duration = pulseIn(echoPinGauche, HIGH); 
      distance = (duration/2) / 29.1;// converti la distance en cm 
      if (distance > 13) { 
      motorsD.run(FORWARD); 
      motorsD.setSpeed(200);
       }
      else {
      float CMD = ((4+(distance-7))/10);
      motorsD.run(FORWARD); 
      motorsD.setSpeed(200*CMD);
       }
 } 
}
Serial.println ("NE PAS TOURNER A GAUCHE-FAIRE MARCHE ARRIERE +
DEMI TOUR;

Voilà

Serial.println ("NE PAS TOURNER A GAUCHE-FAIRE MARCHE ARRIERE +DEMI TOUR");

plutôt?

Bonsoir
Et merci pour votre rapide réponse
j’ai fais comme vous me l’avez indiqué.
Mais maintenant il y a une nouvelle erreur 'SONORE was not declared in this scope
Pour moi c’est un peu pas très clair
Amicalement
jehan14

Quand le compilateur donne une erreur il donne aussi la ligne ou elle se trouve. Pour que quelqu'un puisse aider, il faut donner le code mais aussi le message d'erreur complet. Il y a d'ailleurs un petit bouton à droite au dessus de la fenêtre d'erreur qui dit "Recopier les messages d'erreurs". Copier coller devient facile.

Sans le n° de la ligne c'est un peu comme demander à quelqu'un de remplacer une ampoule sans dire dans quelle pièce chercher.

Et aussi activer dans la configuration l'affichage des messages détaillés à la compilation.
Les messages d'erreur seront plus clairs.

Bonjour,

Dans ton code il y a plusieurs lignes avec des sauts de lignes intempestifs. Essaies de copier de nouveau le programme à partir de la source sans activer le saut de ligne pour les lignes trop longues.

bonsoir
voici les infos que je lis sur la console d'erreurs

exit statut 1
stray '303' in program

ligne 36 surlignée

d'autre part j'ai fais ce que vous me recommandiez de faire ( les deux options)
mais de nouvelle erreurs apparaissent
encore merci
jehan14

Voici ton programme avec les lignes coupées corrigées

// ROBOT  THONAIN
#include <AFMotor.h>
AF_DCMotor motorsG(1);
AF_DCMotor motorsD(2);

#define trigPinAvant 9 // defini les broches du capteur central Avant
#define echoPinAvant 10

#define trigPinDroit A5 // defini les broches du capteur DROIT
#define echoPinDroit A4

#define trigPinGauche A3 // defini les broches du capteur GAUCHE
#define echoPinGauche A2

void setup() {
  Serial.begin(9600); // pour afficher des données à l'écran si besoin

  pinMode(trigPinAvant, OUTPUT);// envoie les ultra-sons AVANT CENTRAL

  pinMode(echoPinAvant, INPUT);// recoit l'echo AVANT CENTRAL

  pinMode(trigPinDroit, OUTPUT);// envoie les ultra-sons DROIT
  pinMode(echoPinDroit, INPUT);// recoit l'echo DROIT

  pinMode(trigPinGauche, OUTPUT);// envoie les ultra-sons GAUCHE
  pinMode(echoPinGauche, INPUT);// recoit l'echo GAUCHE
  motorsD.run(RELEASE);
  motorsG.run(RELEASE);

  // initialise la broches Analog In A0 en pin OUTPUT pour faire du son
  pinMode(A0, OUTPUT);

  delay (3000); // POUR PAS QUE LE ROBOT DEMARRE dès la mise sous tension
  for (int compteur = 0; compteur <= 100; compteur = compteur + 1) // ALARME SONORE de demmarage
  {
    digitalWrite(A0, 255);
    delay(1);
    digitalWrite(A0, LOW);
    delay(1);
    digitalWrite(A0, 255);
    delay(1);
    digitalWrite(A0, LOW);
    delay(1);
  }
}

void loop() {

  long duration, distance; // MESURE OBSTACLE FRONTAL AVANT
  digitalWrite(trigPinAvant, LOW);
  delayMicroseconds(2);
  digitalWrite(trigPinAvant, HIGH);
  delayMicroseconds(10);
  digitalWrite(trigPinAvant, LOW);
  duration = pulseIn(echoPinAvant, HIGH);
  distance = (duration / 2) / 29.1; // converti la distance en cm

  if (distance < 18)/* TESTE SI OBSTACLE FRONTAL AVANT A MOINS DE 18CM */
  {
    Serial.println ("DETECTION OBSTACLE FRONTAL" ); // si besoin d'afficher infos
    Serial.print ("DISTANCE " );
    Serial.print ( distance);
    Serial.print ( " CM!");
    Serial.println ("CORRIGER TRAJECTOIRE");
    motorsD.run(RELEASE);
    motorsG.run(RELEASE);
    for (int compteur = 0; compteur <= 100; compteur = compteur + 1) // ALARME SONORE OBSTACLE
    {
      digitalWrite(A0, 255);
      delay(1);
      digitalWrite(A0, LOW);
      delay(1);
      digitalWrite(A0, 255);
      delay(1);
      digitalWrite(A0, LOW);
      delay(1);
    }
    delay(5);
    long duration, distance; // MESURE SI OBSTACLE A DROITE
    digitalWrite(trigPinDroit, LOW);
    delayMicroseconds(2);
    digitalWrite(trigPinDroit, HIGH);
    delayMicroseconds(10);
    digitalWrite(trigPinDroit, LOW);
    duration = pulseIn(echoPinDroit, HIGH);
    distance = (duration / 2) / 29.1; // converti la distance en cm

    if (distance < 40)/* TESTE SI OBSTACLE A DROITE A MOINS DE 40CM
*/  {
      Serial.println ("DETECTION OBSTACLE à droite" );
      Serial.print ("DISTANCE " );
      Serial.print ( distance);
      Serial.print ( " CM!");
      Serial.println ("NE PAS TOURNER A DROITE");
      delay(500);

      long duration, distance; // MESURE SI OBSTACLE A GAUCHE
      digitalWrite(trigPinGauche, LOW);
      delayMicroseconds(2);
      digitalWrite(trigPinGauche, HIGH);
      delayMicroseconds(10);
      digitalWrite(trigPinGauche, LOW);
      duration = pulseIn(echoPinGauche, HIGH);
      distance = (duration / 2) / 29.1; // converti la distance en cm

      if (distance < 40)/* TESTE SI OBSTACLE A GAUCHE A MOINS DE
  40 CM */ {
        Serial.println ("DETECTION OBSTACLE à gauche" );
        Serial.print ("DISTANCE " );
        Serial.print ( distance);
        Serial.print ( " CM!");
        Serial.println ("NE PAS TOURNER A GAUCHE-FAIRE MARCHE ARRIERE + DEMI TOUR");
        delay(500);
        motorsD.run(BACKWARD); // RECULE LENTEMENT
        motorsG.run (BACKWARD);
        motorsG.setSpeed(100);
        motorsD.setSpeed(100);
        delay(1500);

        motorsD.run(FORWARD); // FAIT DEMI TOUR
        motorsG.run (BACKWARD);
        motorsG.setSpeed(200);
        motorsD.setSpeed(200);
        delay(1500); // AJUSTER DUREE du DELAY SELON TENSION ACCU ET TESTURE DU SOL
      }
      else { // TOURNE A GAUCHE
        motorsD.run(FORWARD);
        motorsG.run (BACKWARD);
        motorsG.setSpeed(200);
        motorsD.setSpeed(200);
        delay(800);// AJUSTER DUREE du DELAY SELON TENSION ACCU ET TESTURE DU SOL
        motorsD.run(RELEASE);
        motorsG.run(RELEASE);
        delay(1500);
      }

    }
    else { // TOURNE A DROITE
      motorsD.run(BACKWARD);
      motorsG.run (FORWARD);
      motorsG.setSpeed(200);
      motorsD.setSpeed(200);
      delay(800);// AJUSTER DUREE du DELAY SELON TENSION ACCU ET TESTURE DU SOL
      motorsD.run(RELEASE);
      motorsG.run(RELEASE);
      delay(1500);
    }
  }
  else { // PAS OBSTACLE DEVANT DONC MARCHE AVANT
    // MESURE OBSTACLE A DROITE AVEC AFFECTATION COEFF MOTEURS GAUCHE !(CMG)
    delay(5);
    long duration, distance; // MESURE OBSTACLE A DROITE
    digitalWrite(trigPinDroit, LOW);
    delayMicroseconds(2);
    digitalWrite(trigPinDroit, HIGH);
    delayMicroseconds(10);
    digitalWrite(trigPinDroit, LOW);
    duration = pulseIn(echoPinDroit, HIGH);
    distance = (duration / 2) / 29.1; // converti la distance en cm
    if (distance > 13) {
      motorsG.run(FORWARD);
      motorsG.setSpeed(200);
    }
    else {
      float CMG = ((4 + (distance - 7)) / 10);
      motorsG.run(FORWARD);
      motorsG.setSpeed(200 * CMG);
    }

    // MESURE OBSTACLE A GAUCHE AVEC AFFECTATION COEFF MOTEUR DROITS !(CMD)
    delay(5);
    //long duration, distance; // MESURE OBSTACLE A GAUCHE
    digitalWrite(trigPinGauche, LOW);
    delayMicroseconds(2);
    digitalWrite(trigPinGauche, HIGH);
    delayMicroseconds(10);
    digitalWrite(trigPinGauche, LOW);
    duration = pulseIn(echoPinGauche, HIGH);
    distance = (duration / 2) / 29.1; // converti la distance en cm
    if (distance > 13) {
      motorsD.run(FORWARD);
      motorsD.setSpeed(200);
    }
    else {
      float CMD = ((4 + (distance - 7)) / 10);
      motorsD.run(FORWARD);
      motorsD.setSpeed(200 * CMD);
    }
  }
}

Re bonsoir
ça marche super
je vais maintenant vérifier le câblage du robot
un grand Merci à tous
jehan14