Partage
  • Partager sur Facebook
  • Partager sur Twitter

Problème Arduino

Projet Robot autonome grâce à des capteurs ultra sons

    23 avril 2022 à 13:17:00

    Bonjour,

    Je suis en première STI2D et on est entrain de faire le projet mais j'ai rencontrer plusieurs problème 

    déjà le projet consiste à faire un robot autonome qui doit sortir d'un labyrinthe, avec une Carte Romeo BLE, deux moteurs et trois capteurs ultra sons 

    j'ai esséyé des simulation sur le site Tinkercad avec des Arduino classique Uno et j'ai fais ça :

    Le code :

    // C++ code
    // Final code 
    
    // create variable
    // CAPTEUR
    // Capteur Droit 
    int trigRight = 2;
    int echoRight = 3;
    
    // Capteur central 
    int trigCentral = 5;
    int echoCentral = 6;
    
    // Capteur Gauche 
    int trigLeft = 8;
    int echoLeft = 9;
    
    // MOTEURS
    // Moteur Gauche et droit 
    int E1 = 5;     //M1 Speed Control
    int E2 = 6;     //M2 Speed Control
    int M1 = 4;    //M1 Direction Control
    int M2 = 7;    //M1 Direction Control
    
    
    // Capteur et moteur 
    void setup(){
      
      // capteur droit initialisation 
      pinMode(trigRight, OUTPUT);
      pinMode(echoRight, INPUT);
      digitalWrite(trigRight, LOW);
    
      
      // Capteur Central
      pinMode(trigCentral, OUTPUT);
      pinMode(echoCentral, INPUT);
      digitalWrite(trigCentral, LOW);
      
      // Capteur Gauche 
      pinMode(trigLeft, OUTPUT);
      pinMode(echoLeft, INPUT);
      digitalWrite(trigLeft, LOW);
      
      // Moteur Gauche 
      pinMode(M1, OUTPUT);
      // MOteur Droit
      pinMode(M2, OUTPUT);
      
      // Communication
      Serial.begin(9600);
    }
    
    
    
    void loop(){
      // INitialisé les moteur en ON
      digitalWrite(M1, HIGH);
      digitalWrite(M2, HIGH);
      
      // Allumer les trois emmeteurs
      digitalWrite(trigRight, HIGH);
      digitalWrite(trigCentral, HIGH);
      digitalWrite(trigLeft, HIGH);
      
      delayMicroseconds(10);
      
      // Eteindre les trois emmeteurs
      digitalWrite(trigRight, LOW);
      digitalWrite(trigCentral, LOW);
      digitalWrite(trigLeft, LOW);
      
      // Calcule de distance
      // Capteur Droit
      long tempsRight = pulseIn(echoRight, HIGH);
      long distanceRight = (340 * tempsRight) / 1000; // /1000 ms=> s
      distanceRight /= 2;
      
      // Capteur Central 
      long tempsCentral = pulseIn(echoCentral, HIGH);
      long distanceCentral = (340 * tempsCentral) / 1000; // /1000 ms=> s
      distanceCentral /= 2;
      
      // Capteur Gauche
      long tempsLeft = pulseIn(echoLeft, HIGH);
      long distanceLeft = (340 * tempsLeft) / 1000; // /1000 ms=> s
      distanceLeft /= 2;
      
      //Afficher sur le moniteur pour le capteur central 
      Serial.println(distanceCentral, DEC);
      
      // Petit teste avec moteur 
      if(distanceCentral> 1500) {
        digitalWrite(M1, LOW);
        digitalWrite(M2, LOW);
      }
      
    }
    

    Mon code consiste à programmer les capteur à ultra sons pour qu'ils puissent déterminer la distance les variables du moteur je l'ai est appelées M1 et M2 exprès pour faire en sorte que mon code ressemble à celui de la carte RoMeo BLE, mais quand je démarre la simulation il  y  a que le moteur droit qui marche et je ne sais pas pour les capteurs 

    fiche technique de la carte RoMeo avec laquelle le projet sera réalisé : https://wiki.dfrobot.com/RoMeo_BLE__SKU_DFR0305_

    Bien sur je voulais essayée de faire une simulation avec la Romeo mais il n y a pas sur tinkercad 

    Mes questions sont les suivantes :

    1) les branchement sont-ils correcte.

    2) Pourquoi il y a que le moteur droit qui marche 

    3) le moniteur ne m'affiche pas le capteur central 

    4) faut il une alimentation externe pour faire fonctionnez les deux moteurs 

    SVP!!!! pouvez vous m'aidez à réaliser la simulation à succès et avez vous des conseils.

    Merci d'avance.



    -
    Edité par AdelAchouche 23 avril 2022 à 13:18:23

    • Partager sur Facebook
    • Partager sur Twitter
      23 avril 2022 à 20:00:13

      Pour tester les branchements : écrire des petits programmes qui lisent UN capteur / testent UN moteur.

      10 micro secondes, c'est peu.

      • Partager sur Facebook
      • Partager sur Twitter

      Problème Arduino

      × 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