[résolu]comment utiliser plusieurs capteurs a ultrason

bonjour,
je souhaite utiliser 2 capteurs a ultrason comme ceci :
si un des capteurs détecte quelque chose , il commande deux servos
j’arrive a utiliser un capteur, mais pas deux.
merci de m’aider.
ugo
PS:voila le code

#include <Servo.h>
#include <Ultrasonic.h>

const int Trig = 3; // pin “Trig” du HC-SR04 connectée à pin 3 de l’Arduino
const int Echo = 2; // pin “Echo” du HC-SR04 connectée à pin 2 de l’Arduino
Servo servo1,servo2,servo3;
long cm; // variable pour stocker la distance de l’objet en cm //variable qui stocke la mesure du temps
Ultrasonic HCSR04(Trig,Echo); // lira l’heure à chaque boucle

void setup()
{
servo1.attach(9);
servo2.attach(10);
servo3.attach(8);

}

void loop()
{
servo1.write(0);
servo2.write(0);
servo3.write(0);
delay(1500);
servo3.write(180);
delay(1500);
cm = HCSR04.convert(HCSR04.timing(), 1);

if(cm <2 )
{ servo1.write(0);
servo2.write(180);
servo3.write(90);
delay(1500);
}
}

bonjour,
normal,
il faut affecter 2 autres pins pour l'autre capteur.
tu utilise les même pins pour les 2, donc ca le fait pas du tout. :wink:

je comprend bien mais je ne sais pas comment faire car si j’ecris ca:
#include <Servo.h>
#include <Ultrasonic.h>

const int Trig (3,5);
const int Echo ( 2,4);
Servo servo1,servo2,servo3;
long cm; // variable pour stocker la distance de l’objet en cm //variable qui stocke la mesure du temps
Ultrasonic HCSR04(Trig,Echo); // lira l’heure à chaque boucle

void setup()
{
servo1.attach(9);
servo2.attach(10);
servo3.attach(8);

sa ne marche pas !!
merci de me repondre

Et si tu faisais plutôt :

const int Trig_1 =3;    
const int Echo_1= 2;  
const int Trig_2 =5;    
const int Echo_2 =4;

Jean-François:
Et si tu faisais plutôt :

const int Trig_1 =3;    

const int Echo_1= 2; 
const int Trig_2 =5;   
const int Echo_2 =4;

Salut JF (tu tousse encore ? :grin: )
Il faut voir si la lib utilisée gere les sonar multiples et gere les timings entre eux
sinon il y cette lib compatible avec le hard qui le fait avec filtrage (à priori)
http://code.google.com/p/arduino-new-ping/

Et faire une autre instanciation

excusez moi encore mais le detecteur “HCSRO4_2” ne detecte toujours rien …
je vous remercie d’avance de votre aide.
ugo
ps: voici le code:
#include <Servo.h>
#include <Ultrasonic.h>

const int Trig_1 =3;
const int Echo_1= 2;
const int Trig_2 =5;
const int Echo_2 =4;
Servo servo1,servo2;
long cm;
Ultrasonic HCSR04(Trig_1,Echo_1);
Ultrasonic HCSRO4_2(Trig_2,Echo_2);// lira l’heure à chaque boucle

void setup()
{
servo1.attach(9);
servo2.attach(10);

}

void loop()
{
servo1.write(0);
servo2.write(0);
cm = HCSR04.convert(HCSR04.timing(), 1);
cm = HCSRO4_2.convert(HCSR04.timing(),1);

if(cm<20 )
{ servo1.write(0);
servo2.write(180);
delay(1500);
}
}

Artouste:
Salut JF (tu tousse encore ? :grin: )

C’est le plus pénible…

comment peut-on utiliser la librairie new ping dont artouste a parlé pour controler les capteurs ???
merci

Y'a une erreur :

cm = HCSR04.convert(HCSR04.timing(), 1);
  cm = HCSRO4_2.convert(HCSR04.timing(),1);

C'est pas le bon timing et tu écrases cm :

cm = HCSR04.convert(HCSR04.timing(), 1);
  cm2 = HCSRO4_2.convert(HCSR04_2.timing(),1);

MERCI !!!
finalement j’ai trouvé le problème grace a vous tous et en particulier B@tto
j’avais oublié ceci :

else if (cm2<20)
{ servo1.write(0);
servo2.write(180);
delay(1500);

ce qui donne :
#include <Servo.h>
#include <Ultrasonic.h>

const int Trig_1 =3;
const int Echo_1= 2;
const int Trig_2 =5;
const int Echo_2 =4;
Servo servo1,servo2;
long cm;
long cm2;
Ultrasonic HCSR04(Trig_1,Echo_1);
Ultrasonic HCSRO4_2(Trig_2,Echo_2);// lira l’heure à chaque boucle

void setup()
{
servo1.attach(9);
servo2.attach(10);

}

void loop()
{
servo1.write(0);
servo2.write(0);
cm = HCSR04.convert(HCSR04.timing(), 1);
cm2 = HCSRO4_2.convert(HCSRO4_2.timing(),1);

if(cm<20 )
{ servo1.write(0);
servo2.write(180);
delay(1500);}
else if (cm2<20)
{ servo1.write(0);
servo2.write(180);
delay(1500);
}
}
je vous remercie tous et j’uploaderai mon travail dans les prochain jours.(surprise :P)
merci encore
ugo

Jean-François:

Artouste:
Salut JF (tu tousse encore ? :grin: )

C'est le plus pénible....

[HS]
Faut pas pousser... en même temps ]:slight_smile: ------> déjà loin 8)

Pffffff..... :grin: