Faire varier 2 capteur ultrason

Bonjour je suis en projet de Terminal STI2D

Dans mon projet je doit utilisée 2 capteur ultrason et ensuite de les faire communiquer avec un vibreur transformé en servomoteur. Le but est de crée un gant pour les personne aveugle et pour cela il faut que l’un des deux capteurs détecte l’obstacle et le transmettre, pas les deux en même temps.

Je ne sais si mon explication est claire. C’est juste que les capteurs doivent détecter mais seulement on fonction que si l’un dectecte et pas les deux.

Voici le début de mon programme je ne sais pas si cela est bon.

const int pingPin = 12; // Trigger Pin of Ultrasonic Sensor
const int pingPin2 = 10; // Trigger Pin of Ultrasonic Sensor
const int echoPin = 11; // Echo Pin of Ultrasonic Sensor
const int echoPin2 = 9; // Echo Pin of Ultrasonic Sensor
//une sortie analogique sur la broche 6
const int sortieAnalogique = 6;
long duration, duration2, inches, cm, cm1 ;

void setup()
{
Serial.begin(9600); // Starting Serial Terminal
pinMode(echoPin, INPUT);
pinMode(pingPin, OUTPUT);
pinMode(pingPin2, OUTPUT);
pinMode(echoPin2, INPUT);

pinMode(sortieAnalogique, OUTPUT);

}

void loop()
{
digitalWrite(pingPin, LOW);
delayMicroseconds(2);
digitalWrite(pingPin, HIGH);
delayMicroseconds(10);
digitalWrite(pingPin, LOW);

duration = pulseIn(echoPin, HIGH);
inches = microsecondsToInches(duration);

digitalWrite(pingPin2, LOW);
delayMicroseconds(20);
digitalWrite(pingPin2, HIGH);
delayMicroseconds(100);
digitalWrite(pingPin2, LOW);

duration2 = pulseIn(echoPin2, HIGH);

cm = microsecondsToCentimeters(duration);
cm1 = microsecondsToCentimeters(duration2);

Serial.print(“ultra “);
Serial.print(cm);
Serial.print(” ultra1 cm”);
Serial.print(cm1);

delay(100);

//on met un rapport cyclique de 107/255 = 42 %
analogWrite(sortieAnalogique, 40);

}

long microsecondsToInches(long microseconds)
{
return microseconds / 74 / 2;
}

long microsecondsToCentimeters(long microseconds)
{
return microseconds / 29 / 2;
}

Merci beaucoup de votre aide

mix_progrog_3.ino (1.37 KB)

Bonjour, bienvenue sur le forum

corrigez votre post ci dessus et rajoutez les code tags autour du code:
[code]`` [color=blue]// votre code ici[/color] ``[/code].

ça doit ressembler à cela:// votre code ici
(faites aussi ctrl-T (PC) or cmd-T (Mac) dans l'IDE avant de copier le code pour qu'il soit indenté correctement)

est-ce que ça compile?
est-ce que vous voyez vos 2 valeurs s'afficher?
est-ce que le "vibreur transformé en servomoteur" (je ne sais pas ce que ça veut dire) fait quelque chose?

sinon

pourquoi vous calculez les distances en inch et après en cm?

inches = microsecondsToInches(duration);
...
cm = microsecondsToCentimeters(duration);

ça sert à rien les inch...

vos const int pour les pins seraient mieux en const byte