Problème ! utilisation de deux capteurs ultrasonores(HC-SR04)

voici notre programme:
include <Servo.h>
Servo monservo;
const int trigPin = 7;
const int echoPin = 8;
const int LedR1 = 2;
const int trigPin2 = 12;
const int echoPin2 = 13;
const int LedR2 = 4;
const int LedJ1 = 5;
const int LedJ2 = 6;
const int LedV1 = 9;
const int LedV2 = 10;
long duration, duration2, inches, cm, cma ;

void setup() {
// initialize serial communication:
Serial.begin(9600);
monservo.attach(3);}

void loop()
{
monservo.write(0);

** if(cm<6){**
** digitalWrite(LedR2,HIGH);**
digitalWrite(LedR1,HIGH);}
** else{digitalWrite(LedR2,LOW);**
digitalWrite(LedR1,LOW);}

if((cm<10)&&(cm>6)){
digitalWrite(LedR1,HIGH);}
else{digitalWrite(LedR1,LOW);}

if((cm<15)&&(cm>6)){
digitalWrite(LedJ2,HIGH);}
else{digitalWrite(LedJ2,LOW);}

if((cm<20)&&(cm>6)){
digitalWrite(LedJ1,HIGH);}
else{digitalWrite(LedJ1,LOW);}

if((cm<25)&&(cm>6)){
digitalWrite(LedV2,HIGH);}
else{digitalWrite(LedV2,LOW);}

if((cm<30)&&(cm>6)){
digitalWrite(LedV1,HIGH);}
else{digitalWrite(LedV1,LOW);}

if((cma <40)&&(cma > 6)){
monservo.write(90);
delay(5000);}
else{monservo.write(0);}

// Etablir variables pour la duree de la commande ping,
// et le résultat de la distance en pouces et en centimetres:

// Le capteur est déclenche par une impulsion haute d'au moins 10 microsecondes.
// Donne une impulsion courte basse avant pour assurer une impulsion HIGH propre:
pinMode(LedR1,OUTPUT);
pinMode(LedR2,OUTPUT);
pinMode(LedJ1,OUTPUT);
pinMode(LedJ2,OUTPUT);
pinMode(LedV1,OUTPUT);
pinMode(LedV2,OUTPUT);
pinMode(trigPin, OUTPUT);
pinMode(trigPin2, OUTPUT);
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);

// Lire le signal de la sonde: une impulsion HIGH dont
// Durée est le temps (en microsecondes) à partir de l'envoi
// Du ping à la reception de son écho sur un objet.
pinMode(echoPin, INPUT);
pinMode(echoPin2, INPUT);
duration = pulseIn(echoPin, HIGH);
duration2 = pulseIn(echoPin2, HIGH);

// convertir le temps en une distance
inches = microsecondsToInches(duration);
cm = microsecondsToCentimeters (cm);
cma = microsecondsToCentimeters (cma);
//Serial.print(inches);//Serial.print("in, ");
Serial.print(cm);Serial.print("cm");
Serial.print(cma);Serial.print("cma");
Serial.println();
delay(100);}

long microsecondsToInches(long microseconds)
{
// Selon la fiche technique du Parallax pour le PING))), il ya
// 73.746 microsecondes par pouce (c. voyages sonores au 1130 pieds par
// Seconde). Cela donne la distance parcourue par la commande ping, sortant
// Et retour, de sorte que l'on divise par 2 pour obtenir la distance de l'obstacle.
// Voir: http://www.parallax.com/dl/docs/prod/acc/28015-PING-v1.3.pdf
return microseconds / 74 / 2;
}

long microsecondsToCentimeters(long microseconds)
{
// La vitesse du son est de 340 m/s ou 29 microsecondes par centimètre.
// Le ping voyage aller et retour, de sorte à trouver la distance de l'
// Object on prend la moitié de la distance parcourue.
return microseconds / 29 / 2;
}
Nous avons donc deux capteurs ,un avec #serial print cm# et l'autre avec #cma# sauf que lorsqu'on lance le programme #cm# varie et #cma# reste à zero .Comment en modifiant le programme on peut faire fonctionner le second capteur ? Merci

Bonjour,
Pour améliorer la lisibilité, il faut mettre ton code entre balises #
@+

Pour plus de clarté, ne pourrait-on pas rester dans le sujet initial ?
http://forum.arduino.cc/index.php?topic=226673.msg1639104#msg1639104

Waou j'ai mal aux yeux ...

Déjà : les pinMode() ==> dans le setup()

Par contre vous êtes sûr de la description de votre problème ? Parce que cm et cma font sont de même type et sont traité par la même fonction

bonjour,
vraiment la peine de créer 2 topics pour le même sujet?
http://forum.arduino.cc/index.php?topic=229835.0