Partage
  • Partager sur Facebook
  • Partager sur Twitter

erreur sur un programme arduibo

    19 janvier 2018 à 10:09:09

    Bonjour à tous,

    je suis un élève de première STI2D et j'ai des problèmes pour mon projet.

    je dois créer un programme pour contrôler un robot qui roule pour une carte arduino Romeo. Le problème, c'est que je reçois des messages d'erreur me disant que mes if ne sont pas valables.

    voici mon code:

    //programme de controle du robot roulant.
    // Utilisation du composant HC-06 � 4 sorties GND , VCC , TXD (� brancher sur RX-0) et RXD (� brancher sur TX-1)
    // D�brancher le capteur Bluetooth avant de t�l�verser le programme sur la carte
    // Appel des librairies utilis�es
    // D�finition des broches utilis�es
    // D�finition moteurs
    int moteur_droit_vitesse = 11; //pwm pour la vitesse du moteur droit entre 0 et 255
    int moteur_droit_sens1 = 12 ; // commande sens 1
    int moteur_droit_sens2 = 13 ; // commande sens 2
    int moteur_gauche_vitesse = 10; //pwm pour la vitesse du moteur gauche entre 0 et 255
    int moteur_gauche_sens1 = 8 ; // commande sens 1
    int moteur_gauche_sens2 = 7 ; // commande sens 2
    // Penser � relier la patte 16 du L293D au 5V de l'arduino
    // Penser � relier la patte 8 � la borne + de la batterie ou au 5V de l'arduino
    // Penser � relier les masse entre elles
    void setup()
    {
    // initialisation des pin du moteur droit
    pinMode(moteur_droit_vitesse, OUTPUT);
    pinMode(moteur_droit_sens1, OUTPUT);
    pinMode(moteur_droit_sens2, OUTPUT);
    // initialisation des pin du moteur gauche
    pinMode(moteur_gauche_vitesse, OUTPUT);
    pinMode(moteur_gauche_sens1, OUTPUT);
    pinMode(moteur_gauche_sens2, OUTPUT);
    // initialisation du port s�rie pour la liaison bluetooth
      Serial.begin(9600); //Initialize serial at 9600bps
    }
    // D�claration des diff�rentes fonctions utilis�es pour le d�placement de la voiture
    // D�calartion de la fonction avance
    void avance()
    {
      analogWrite(moteur_gauche_vitesse, 255); // allumer moteur gauche
      digitalWrite(moteur_gauche_sens1, LOW); // sens avance
      digitalWrite(moteur_gauche_sens2, HIGH);
      analogWrite(moteur_droit_vitesse, 255); // allumer moteur droit
      digitalWrite(moteur_droit_sens1, HIGH); // sens avance
      digitalWrite(moteur_droit_sens2, LOW);
    }
    // D�calartion de la fonction recule
    void recule()
    {
      analogWrite(moteur_gauche_vitesse, 255); // allumer moteur gauche
      digitalWrite(moteur_gauche_sens1, HIGH); // sens recule
      digitalWrite(moteur_gauche_sens2, LOW);
      analogWrite(moteur_droit_vitesse, 255); // allumer moteur droit
      digitalWrite(moteur_droit_sens1, LOW); // sens recule
      digitalWrite(moteur_droit_sens2, HIGH);
    } // D�calartion de la fonction tourne � droite
    void droite_voiture()
    { 
      analogWrite(moteur_gauche_vitesse, 255); // allumer moteur gauche
      digitalWrite(moteur_gauche_sens1, LOW); // sens avance
      digitalWrite(moteur_gauche_sens2, HIGH);
      analogWrite(moteur_droit_vitesse, 255); // allumer moteur droit
      digitalWrite(moteur_droit_sens1, LOW); // sens invers�
      digitalWrite(moteur_droit_sens2, HIGH);
    }
    // D�calartion de la fonction tourne � gauche
    void gauche_voiture()
    {
      analogWrite(moteur_gauche_vitesse, 255); // allumer moteur gauche
      digitalWrite(moteur_gauche_sens1, HIGH); // sens invers�
      digitalWrite(moteur_gauche_sens2, LOW);
      analogWrite(moteur_droit_vitesse, 255); // allumer moteur droit
      digitalWrite(moteur_droit_sens1, HIGH); // sens avance
      digitalWrite(moteur_droit_sens2, LOW);
    }
    //declaration de la fonction stop
    void stop_voiture()
    {
      analogWrite(moteur_gauche_vitesse, 0); // allumer moteur gauche
      digitalWrite(moteur_gauche_sens1, HIGH); // sens invers�
      digitalWrite(moteur_gauche_sens2, LOW);
      analogWrite(moteur_droit_vitesse, 0); // allumer moteur droit
      digitalWrite(moteur_droit_sens1, HIGH); // sens avance
      digitalWrite(moteur_droit_sens2, LOW);
    }
    //declaration de la fonction recule a droite
    void recule_droite()
    {
      analogWrite(moteur_gauche_vitesse, 255); //allumer moteur gauche
      digitalWrite(moteur_gauche_sens1, LOW); //sens inverse
      digitalWrite(moteur_gauche_sens2, HIGH);
      analogWrite(moteur_droit_vitesse, 255); //allumer moteur gauche
      digitalWrite(moteur_droit_sens1, HIGH); //sens avance
      digitalWrite(moteur_droit_sens2, LOW); 
    }
    //declaration de la fonction recule a gauche
    void recule_gauche()
    {
      analogWrite(moteur_gauche_vitesse, 255); //allumer moteur gauche
      digitalWrite(moteur_gauche_sens1, LOW); //sens avance
      digitalWrite(moteur_gauche_sens2, HIGH);
      analogWrite(moteur_droit_vitesse, 255); //allumer moeteur droit
      digitalWrite(moteur_droit_sens1, LOW); //sens inverse
      digitalWrite(moteur_droit_sens2, HIGH);
      
    }
    //declaration de la fonction capteur
    // BOUCLE PRINCIPALE
    void loop()
    { 
      while (Serial.available() == 0); // attend qu'une commande arrive par le bluetooth
      char o = Serial.read();
      Serial.write(o);
      
      if (o == '2') 
      { 
        // Robot avance tout droit 
        avance();
      } 
      if (o == '0')
        // Robot stop 
        stop_voiture();
      } 
      if (o == '8')
      { 
        // Robot recule tout droit
        recule();
      } 
      if (o == '6')
      { 
        // Robot avance et tourne � droite 
        droite_voiture(); 
      } 
      if (o == '4')
      { 
        // Robot avance et tourne � gauche
        gauche_voiture(); 
      } 
      if (o == '7')
      {
        //le robot va en arrière droite
        recule_droite
      }
      if (o == '9')
      {
      //le robot va en arrière gauche
      recule_gauche();
      }
    }
    

    je vous remercie d'avance.

    -
    Edité par DimLegeek 19 janvier 2018 à 10:10:27

    • Partager sur Facebook
    • Partager sur Twitter

    erreur sur un programme arduibo

    × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
    × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
    • Editeur
    • Markdown