probleme detection sonde


bonsoir voici mon code il et écrit pour  5 sonde le problème et que si il n y pas 5 sonde de connectée il ne fonctionne pas j aimerais palie ce probleme

en quelque sorte si il n y pas 5 sonde c pas grave il tourne quand meme et indique les sonde non connectée
(sans pour autant suprime les sonde je veut qu il s adapte en quelque sorte )
code: [select]
#include <onewire.h>
#include <liquidcrystal.h>
// broche utilisée pour le bus 1-wire
onewire ds(13); // création de l'objet onewire ds
liquidcrystal lcd(12, 11, 5, 4, 3, 2);


boolean gettemperature(float *temp){
byte data[9], addr[8]; // data : données lues depuis le scratchpad
// addr : adresse du module 1-wire détecté
if (!ds.search(addr)) { // recherche un module 1-wire
ds.reset_search(); // réinitialise la recherche de module
return false; // retourne une erreur
}

ds.write(0x44, 1); // on lance une prise de mesure de température
delay(100); //tempo rafraichissement // et on attend la fin de la mesure
ds.reset(); // on reset le bus 1-wire
ds.select(addr); // on sélectionne le ds18b20
ds.write(0xbe); // on envoie une demande de lecture du scratchpad

for (byte = 0; < 9; i++) // on lit le scratchpad
data[i] = ds.read(); // et on stock les octets reçus
*temp = ((data[1] << 8) | data[0]) * 0.0625; // calcul de la température en degré celsius
return true;
}
void setup() {
lcd.begin(20, 4);
pinmode(7, output); // sortie relais 1
pinmode(8, output); // sortie relais 2
pinmode(9, output); // sortie relais 3
pinmode(10, output); // sortie relais 4
pinmode(6, output); // sortie relais 5
pinmode(13, output); // sortie relais ventillateur

}
void loop() {
float temp1;
float temp2;
float temp3;
float temp4;
float temp5;

if(gettemperature(&temp1)) // lecture des capteurs.
if(gettemperature(&temp2))
if(gettemperature(&temp3))
if(gettemperature(&temp4))
if(gettemperature(&temp5))


{
lcd.setcursor(0, 0); // affichage temp 1
lcd.print("a=");
lcd.print(temp1);
lcd.print((char)223);

lcd.setcursor(12, 0); // affichage temp2
lcd.print("b=");
lcd.print(temp2);
lcd.print((char)223);

lcd.setcursor(0, 1); // affichage temp3
lcd.print("c=");
lcd.print(temp3);
lcd.print((char)223);

lcd.setcursor(12, 1); // affichage temp4
lcd.print("d=");
lcd.print(temp4);
lcd.print((char)223);

lcd.setcursor(0, 2); // affichage temp5
lcd.print("e=");
lcd.print(temp5);
lcd.print((char)223);

lcd.setcursor(0, 3); // affichage temp5
lcd.print("ventillateur=");
//lcd.print();



}

//relais temp1 consigne 29°c
if(temp1 > 30)
{
digitalwrite(7,high); // relais connecté broche 7
lcd.setcursor(0, 0);
lcd.print("a=");
lcd.print(" alarm ");
// delay(100); //enlever slash pour clignotement
//lcd.setcursor(0, 0);
//lcd.print(" ");
}
else
{
digitalwrite(7,low);
}

if(temp2 > 30) //relais temp2 consigne 29°c
{
digitalwrite(8,high); // relais connecté broche 8
lcd.setcursor(12, 0);
lcd.print("b=");
lcd.print(" alarm ");
}
else
{
digitalwrite(8,low);

}
if(temp3 > 30) //relais temp2 consigne 29°c
{
digitalwrite(9,high); // relais connecté broche 8
lcd.setcursor(0, 1);
lcd.print("c=");
lcd.print(" alarm ");
}
else
{
digitalwrite(9,low);

}
if(temp4 > 30) //relais temp2 consigne 29°c
{
digitalwrite(10,high); // relais connecté broche 8
lcd.setcursor(12, 1);
lcd.print("d=");
lcd.print(" alarm ");
}
else
{
digitalwrite(10,low);

}

if(temp5 > 30) //relais temp5 consigne 29°c
{
digitalwrite(6,high); // relais connecté broche 8
lcd.setcursor(12, 1);
lcd.print("e=");
lcd.print(" alarm ");
}
else
{
digitalwrite(6,low);
}

//relais ventilateur consigne 25°c

if(temp1 < 20,temp2 < 20,temp3 < 20,temp4 < 20)
{
digitalwrite(13,high); // relais connecté broche 7
lcd.setcursor(13, 4);
lcd.print(" off ");
}
else
{
lcd.setcursor(13, 4);
lcd.print(" on ");

// delay(100); //enlever slash pour clignotement
//lcd.setcursor(0, 0);
//lcd.print(" ");
//}
digitalwrite(13,low);
}






{


}

return;
}

bonjour,
il ne fonctionne pas, très vague comme piste.
le prog plante, une erreur?
boule cristale cassée depuis 5mn :)

peut être commenter cette ligne pour voir
code: [select]
return false; // retourne une erreur


Arduino Forum > International > Français (Moderators: jfs, Snootlab) > probleme detection sonde


arduino

Comments

Popular posts from this blog

opencv3, tbb and rasp pi 2 - Raspberry Pi Forums

small ethernet problem - Raspberry Pi Forums

Multithumb configuration params not working? - Joomla! Forum - community, help and support