Rebonjour à tous, il me reste un mystere à éclairssir dans ce code, j'ai retravaillé la structure itérative mais je ne comprends pas mon programme enclenche bien les relais en fonction de la variation de température cependant il m'est impossible de sélectionner l'une l'autre des boucles,il reste bloqué à la boucle 1 et je ne peux plus sortir de la boucle dans laquelle je suis entré,
je ne comprends pas pourquoi je ne peux pas entrer dans les boucles 2,3 et 4 et que je ne peux plus sortir de la boucle 1
cordialement
float tvoltage1;
float tvoltage2;
float temperature1;
float temperature2;
const int consigne1 = 210; /* consigne PLA*/
const int consigne2 = 200;
const int consigne3 = 190; /*consigne abs*/
const int consigne4 = 180;
const int MOTEURBR = 7;
const int MOTEUREX = 6;
const int RESISTANCE2 = 5 ;
const int RESISTANCE1 = 4 ;
void setup() {
Serial.begin(9600); // Demarrer la liaison serie avec le PC b
pinMode(A0, INPUT);
pinMode(A1, INPUT);
pinMode(MOTEURBR, OUTPUT);
pinMode(MOTEUREX, OUTPUT);
pinMode(RESISTANCE1, OUTPUT);
pinMode(RESISTANCE2, OUTPUT);
digitalWrite(MOTEURBR, LOW);
digitalWrite(MOTEUREX, LOW);
digitalWrite(RESISTANCE1, LOW);
digitalWrite(RESISTANCE2, LOW);
pinMode(9,INPUT); /*pin relié à l'arduino méga */
pinMode(1, INPUT);
pinMode(2, INPUT);
pinMode(3, INPUT);
pinMode(8, INPUT);
}
void loop() {
tvoltage1 = analogRead(A0);
temperature1 = ((0.390625) * tvoltage1);
tvoltage2 = analogRead(A1);
temperature2 = ((0.390625) * tvoltage2);
Serial.print("la température 1 : ");
Serial.println(temperature1);
Serial.print("la température 2 : ");
Serial.println(temperature2);
if (digitalRead(9)!=LOW)
{
digitalWrite(MOTEURBR, LOW);
digitalWrite(RESISTANCE1, LOW);
digitalWrite(RESISTANCE2, LOW);
digitalWrite(MOTEUREX, LOW);
}
else if (digitalRead(1)!=LOW)
{
Serial.print("boucle1");
if (temperature1 < (consigne1))
{
digitalWrite(RESISTANCE1, HIGH);
}
else if (temperature1 > (consigne1))
{
digitalWrite(RESISTANCE1, LOW);
}
if (temperature2 < (consigne2))
{
digitalWrite(RESISTANCE2, HIGH);
}
else if (temperature2 > (consigne2))
{
digitalWrite(RESISTANCE2, LOW);
}
}
else if (digitalRead(2) !=LOW)
{
Serial.print("boucle2");
if (temperature1 < consigne1)
{
digitalWrite(RESISTANCE1, HIGH);
}
else if (temperature1 > consigne1)
{
digitalWrite(RESISTANCE1, LOW);
}
if (temperature2 < consigne2)
{
digitalWrite(RESISTANCE2, HIGH);
}
else if (temperature2 > consigne2)
{
digitalWrite(RESISTANCE2, LOW);
}
}
else if (digitalRead(3) !=LOW)
{
Serial.print("boucle3");
if (temperature1 < (consigne3))
{
digitalWrite(RESISTANCE1, HIGH);
}
else if (temperature1 > consigne3)
{
digitalWrite(RESISTANCE1, LOW);
}
if (temperature2 < (consigne4))
{
digitalWrite(RESISTANCE2, HIGH);
}
else if (temperature2 > consigne4)
{
digitalWrite(RESISTANCE2, LOW);
}
}
else if (digitalRead(8)!=LOW)
{
Serial.print("boucle4");
if (temperature1 < consigne3)
{
digitalWrite(RESISTANCE1, HIGH);
}
else if (temperature1 > consigne3)
{
digitalWrite(RESISTANCE1, LOW);
}
if (temperature2 < consigne4)
{
digitalWrite(RESISTANCE2, HIGH);
}
else if (temperature2 > consigne4)
{
digitalWrite(RESISTANCE2, LOW);
}
else
{}
}
delay(5000);
}