L293d+capteurs ultrasons

QUAND j'utilise ce code j'ai qu'un seul moteur qui fonctionne et non les 2:

const int trigPin_droit = A3;  // Trigger (emission)
const int echoPin_droit = A4;  // Echo    (réception)
const int trigPin_gauche = 5;  // Trigger (emission)
const int echoPin_gauche = 6;  // Echo    (réception)

const int motor_gauchePin2 = 2;    // pin 2 du L293D
const int motor_gauchePin4 = 4;    // pin 4 du L293D
const int enable_gauchePin10 = 10;     // pin (Enable)du L293D

const int motor_droitPin3= 3;    // pin 3 du L293D
const int motor_droitPin1 = 1;    // pin 1 du L293D
const int enable_droitPin11 = 11;     // pin (Enable)du L293D
// Variables 


long duree_droit;   // durée de l'echo
int distance_droit; // distance
long duree_gauche;   // durée de l'echo
int distance_gauche; // distance
 
 
void setup() {

 pinMode(trigPin_droit, OUTPUT); // Configuration du port du Trigger comme une SORTIE
 pinMode(echoPin_droit, INPUT); // Configuration du port de l'Echo  comme une ENTREE
 digitalWrite(trigPin_droit, LOW);
 digitalWrite(trigPin_gauche, LOW);
 pinMode(trigPin_gauche, OUTPUT); // Configuration du port du Trigger comme une SORTIE
 pinMode(echoPin_gauche, INPUT);  // Configuration du port de l'Echo  comme une ENTREE
 
 Serial.begin(9600); // Démarrage de la communication série
 
 pinMode(motor_gauchePin2, OUTPUT);    
 pinMode(motor_gauchePin4, OUTPUT) ;   
 pinMode(enable_gauchePin10, OUTPUT);     

 pinMode(motor_droitPin3, OUTPUT);   
 pinMode(motor_droitPin1, OUTPUT);    
 pinMode(enable_droitPin11, OUTPUT);  

 }

void loop() {
 
   //Émission d'une slave ultrasonor pendant une période de 10 ps 
  digitalWrite(trigPin_droit, HIGH);
  delayMicroseconds(10);
  digitalWrite(trigPin_droit, LOW);
  duree_droit = pulseIn(echoPin_droit, HIGH); 
  distance_droit = duree_droit/58;// Calcul de la distance

  // Affichage de la distance dans le Moniteur Série
 
  Serial.print("Distance_droit : ");
  Serial.print(distance_droit);
  Serial.println("cm");
  
  delay(60);
  
  digitalWrite(trigPin_gauche, HIGH);
  delayMicroseconds(10);
  digitalWrite(trigPin_gauche, LOW);
  duree_gauche = pulseIn(echoPin_gauche, HIGH);
  distance_gauche = duree_gauche/58;// Calcul de la distance
 
  
  // Affichage de la distance dans le Moniteur Série 
  
  Serial.print("Distance_gauche : ");
  Serial.print(distance_gauche);
  Serial.println("cm");
  
  analogWrite(enable_gauchePin10, 255);
  analogWrite(enable_droitPin11,255);
  
  
}```

La pin 1 est utilisée par serial

je l'ai remplacé par le pin8 mais c'est cette fois ci aucun moteur ne fonctionnent:

const int trigPin_droit = A3;  // Trigger (emission)
const int echoPin_droit = A4;  // Echo    (réception)
const int trigPin_gauche = 5;  // Trigger (emission)
const int echoPin_gauche = 6;  // Echo    (réception)

const int motor_gauchePin2 = 2;    // pin 2 du L293D
const int motor_gauchePin4 = 4;    // pin 4 du L293D
const int enable_gauchePin10 = 10;     // pin (Enable)du L293D

const int motor_droitPin3= 3;    // pin 3 du L293D
const int motor_droitPin8 = 8;    // pin 1 du L293D
const int enable_droitPin11 = 11;     // pin (Enable)du L293D

// Variables 
long duree_droit;   // durée de l'echo
int distance_droit; // distance
long duree_gauche;   // durée de l'echo
int distance_gauche; // distance


void setup() {

 pinMode(trigPin_droit, OUTPUT); // Configuration du port du Trigger comme une SORTIE
 pinMode(echoPin_droit, INPUT);// Configuration du port de l'Echo  comme une ENTREE
 pinMode(trigPin_gauche, OUTPUT); // Configuration du port du Trigger comme une SORTIE
 pinMode(echoPin_gauche, INPUT);  // Configuration du port de l'Echo  comme une ENTREE
 
 digitalWrite(trigPin_droit, LOW);
 digitalWrite(trigPin_gauche, LOW);
  
 Serial.begin(9600); // Démarrage de la communication série
 
 pinMode(motor_gauchePin2, OUTPUT);    
 pinMode(motor_gauchePin4, OUTPUT) ;   
 pinMode(enable_gauchePin10, OUTPUT);     

 pinMode(motor_droitPin3, OUTPUT);   
 pinMode(motor_droitPin8, OUTPUT);    
 pinMode(enable_droitPin11, OUTPUT);  

 analogWrite(enable_gauchePin10, 255);
 analogWrite(enable_droitPin11, 255);

}


void loop() {
  
  //Émission d'une slave ultrasonor pendant une période de 10 ps 

 digitalWrite(trigPin_droit, HIGH);
 delayMicroseconds(10);
 digitalWrite(trigPin_droit, LOW);
 duree_droit = pulseIn(echoPin_droit, HIGH); 
 distance_droit = duree_droit/58;// Calcul de la distance


 // Affichage de la distance dans le Moniteur Série
 
 Serial.print("Distance_droit : ");
 Serial.print(distance_droit);
 Serial.println("cm");
  
 delay(60);
  
 digitalWrite(trigPin_gauche, HIGH);
 delayMicroseconds(10);
 digitalWrite(trigPin_gauche, LOW);
 duree_gauche = pulseIn(echoPin_gauche, HIGH);
 distance_gauche = duree_gauche/58;// Calcul de la distance  
 
 // Affichage de la distance dans le Moniteur Série 
  
 Serial.print("Distance_gauche : ");
 Serial.print(distance_gauche);
 Serial.println("cm");

 pinMode(motor_gauchePin2, HIGH);    
 pinMode(motor_gauchePin4, LOW) ;   
  

 pinMode(motor_droitPin3, LOW);   
 pinMode(motor_droitPin8, HIGH);
  
}
  
 

Testez juste avec le code des moteurs
Comment sont-ils alimentés ?

j'avais déjà tester avec le code pour les moteurs et ça marchait mais quand j'avais mis le code pour les capteurs ultrasons rien de marchait

les moteurs sont alimentés en par un l293d en 5v par l'arduino et 9v par une pile

Ça c’est pas top... Cf RitonDuino: ARDUINO et pile 9V

du coup d'où vient le problème ?!!

j'ai relié le 9v eu l293d

Vous avez lu le lien sur le site de Henri ?

oui mais d'où vient le problème

regarde ici ça marche et les branchements sont bons et le code est bon mais quand je mets le code ultrason rien ne marche

le problème vient donc principalement du code

EN FAITE MAINTENANT ça marche

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.