bonjour j'ai deja trouver le code qui fonctionne pour une sonde met maintenant je voudrais mettre la deuxieme et je ne sais pas comment mis prendre et je n'ai pas leur adresses merci de votre aides.
Bonsoir,
Regarde, il y a peut être quelques éléments
http://forum.arduino.cc/index.php?topic=220859.msg1638248#msg1638248
aleqcis:
bonjour j'ai deja trouver le code qui fonctionne pour une sonde met maintenant je voudrais mettre la deuxieme et je ne sais pas comment mis prendre et je n'ai pas leur adresses merci de votre aides.
regarde l'explication avec exemple de programme que j'ai faite pour tactac77
http://forum.arduino.cc/index.php?topic=220859.msg1630785#msg1630785
edit j'ai été autogrillé par icare ![]()
avec un pointeur plus haut dans le topic cité
Ou encore, si tu as des pins dispos et que tu ne veux pas t'embêter avec l'adressage des DS18B20, y a aussi ça comme possibilité :
http://forum.arduino.cc/index.php?topic=204912.msg1513132
voilà alors j'ai essayer ce code avec 2 sonde mais j'en ai qu'un qui marche pouvez vous me dire si cela viens du code ou du branchement
#include <OneWire.h>
OneWire bus_sonde1(4);
OneWire bus_sonde2(5);
uint8_t adresse_sonde1[8];
uint8_t adresse_sonde2[8];
void initialiserSonde1()
{
if (!bus_sonde1.search(adresse_sonde1))
{
Serial.println("Sonde 1 absente");
bus_sonde1.reset_search();
return;
}
bus_sonde1.reset_search();
if (OneWire::crc8(adresse_sonde1, 7) != adresse_sonde1[7])
{
Serial.println("Identifiant sonde 1 invalide");
return;
}
if (adresse_sonde1[0] != 0x28)
{
Serial.println("Le composant sonde 1 n'est pas un DS18B20");
return;
}
Serial.println("Sonde 1 trouvee");
}
void initialiserSonde2()
{
if (!bus_sonde2.search(adresse_sonde2))
{
Serial.println("Sonde 2 absente");
bus_sonde2.reset_search();
return;
}
bus_sonde2.reset_search();
if (OneWire::crc8(adresse_sonde2, 7) != adresse_sonde2[7])
{
Serial.println("Identifiant sonde 2 invalide");
return;
}
if (adresse_sonde2[0] != 0x28)
{
Serial.println("Le composant sonde 2 n'est pas un DS18B20");
return;
}
Serial.println("Sonde 2 trouvee");
}
uint16_t lectureSonde1()
{//retourne la température relevée en seizièmes de degrés
uint8_t data[9];
uint8_t i;
bus_sonde1.reset();
bus_sonde1.select(adresse_sonde1);
bus_sonde1.write(0x44,1);
delay(750);
bus_sonde1.reset();
bus_sonde1.select(adresse_sonde1);
bus_sonde1.write(0xBE);
for (i=0; i<9; i++) data[i] = bus_sonde1.read();
if (OneWire::crc8(data, 8) != data[8])
{
return 0;
}
else
{
return ((uint16_t) data[1] << 8) | data[0];
}
}
uint16_t lectureSonde2()
{//retourne la température relevée en seizièmes de degrés
uint8_t data[9];
uint8_t i;
bus_sonde2.reset();
bus_sonde2.select(adresse_sonde2);
bus_sonde2.write(0x44,1);
delay(750);
bus_sonde2.reset();
bus_sonde2.select(adresse_sonde2);
bus_sonde2.write(0xBE);
for (i=0; i<9; i++) data[i] = bus_sonde2.read();
if (OneWire::crc8(data, 8) != data[8])
{
return 0;
}
else
{
return ((uint16_t) data[1] << 8) | data[0];
}
}
void setup()
{
Serial.begin(9600);
initialiserSonde1();
initialiserSonde2();
}
void loop()
{
Serial.print("temperature sonde 1 : ");
Serial.print((float) 0.0625 * lectureSonde1());
Serial.write(176);
Serial.write('C');
Serial.println();
Serial.print("temperature sonde 2 : ");
Serial.print((float) 0.0625 * lectureSonde2());
Serial.write(176);
Serial.write('C');
Serial.println();
Serial.println();
delay(5000);
}

aleqcis:
...mais j'en ai qu'un qui marche...
Là c'est sûr, on va bien comprendre quels sont les symptômes, où se situe le problème et quelle est la solution ![]()
Bon allez, je sors ma boule de cristal
je vois que fil DQ de la sonde 1 n'est pas branché sur la pin4
ou alors c'est le fil DQ de la sonde 2 qui n'est pas branché sur la pin5
ou alors il manque la résistance de 4k7 entre la pin4 et 5V
ou alors il manque la résistance de 4k7 entre la pin5 et 5V
J'ai droit à plusieurs essais, je suis voyant débutant ![]()
Artouste:
regarde l'explication avec exemple de programme que j'ai faite pour tactac77
thermomètre chambre froide avec alarme sms - #36 by Artouste - Français - Arduino Forum
Je confirme ça marche très bien son montage
Merci encore ![]()