Partage
  • Partager sur Facebook
  • Partager sur Twitter

Décodage module HC-06 qui plante

    19 mars 2020 à 18:13:35

    Bonjour. Lorsque je lance mon programme et que je me connecte tout ce passe bien. Après je lance la fonction line_tracker mais au bout d'un moment, le messageRecu devient indescriptible et je ne sais pas pourquoi pourriez-vous m'aider ?

    #include <Stepper.h>       // appel module moteur
    int NDP1 = 48*64;          // nombre pas moteur 1
    int NDP2 = 48*64;          // nombre pas moteur 2
    
    //int sens1 = 26;                  // pin detecteur 1
    //int sens2 = 27;                   // pin detecteur 2
    //int sens3 = 28;                    // pin detecteur 3
    bool line_tracker_remote = false;
    bool teleco = false;
    bool lnonoff = false;
    bool gauche = false;
    bool droite = false;
    bool haut = false;
    bool bas = false;
    
    #include <SoftwareSerial.h>
    SoftwareSerial HC06(11, 13);
    String messageRecu;
    
    Stepper moteur1 (NDP1, 4, 6, 5, 3);          // pin moteur 1
    Stepper moteur2 (NDP2, 8, 10, 9, 7);      // pin moteur 2
    
    
    void line_tracker(){                  // fonction qui permet de suivre la ligne
      //bool val1 = digitalRead(sens1);        // valeur de capteur 1 --> val1
      //bool val2 = digitalRead(sens2);        // ==
      //bool val3 = digitalRead(sens3);        // ==
      int val1 = 1;
      int val2 = 1;
      int val3 = 1;
      
      if(val3 < 1){                                // premiere etape   
          moteur2.step(-10);
      }
      else if(val1 < 1){                              //deuxieme etape
          moteur1.step(10);
      }
      else if (val2 > 0){                         //troisieme etape
              moteur1.step(10);
              moteur2.step(10);
      }
      else{
        moteur1.step(10);
        moteur2.step(-10);
      }
      loop();
    }
    
    
    void setup(){              //setup
      moteur1.setSpeed(9);
      moteur2.setSpeed(9);
      Serial.begin(9600);
      //pinMode(24, INPUT);
      //pinMode(25, INPUT);
      //pinMode(26, INPUT);
      HC06.begin(9600);
    }
    
    void loop(){                // boucle infinie
      while(HC06.available()){
        delay(3);
        char c = HC06.read();
        messageRecu += c;
      }
      Serial.println(messageRecu);
      if(messageRecu == "line_tracker_true"){lnonoff = true;}
      else if(messageRecu == "line_tracker_false"){lnonoff = false;}
      else if(messageRecu == "teleco_true"){teleco = true;}
      else if(messageRecu == "teleco_false"){teleco = false;}
      else {messageRecu = "";}
      
      if (lnonoff == true){
        Serial.println("line_tracker");
        line_tracker();                   //demarrage de la fonction
      }
      else{delay(10); loop();}
      delay(10);
    }



    • Partager sur Facebook
    • Partager sur Twitter

    Décodage module HC-06 qui plante

    × 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