Bonjour, j’ai un petit problème avec mon capteur ds18b20 :
dans le moniteur série, il me marque : La température est: -127.00 C° avec un programme normalement bon .
Merci d’avance pour votre aide !
PS : Je débute en programmation !
#include <OneWire.h> //Librairie du bus OneWire
#include <DallasTemperature.h> //Librairie du capteur
OneWire oneWire(2); //Bus One Wire sur la pin 2 de l'arduino
DallasTemperature sensors(&oneWire); //Utilistion du bus Onewire pour les capteurs
DeviceAddress sensorDeviceAddress; //Vérifie la compatibilité des capteurs avec la librairie
void setup(void){
Serial.begin(9600); //Permet la communication en serial
sensors.begin(); //Activation des capteurs
sensors.getAddress(sensorDeviceAddress, 0); //Demande l'adresse du capteur à l'index 0 du bus
sensors.setResolution(sensorDeviceAddress, 12); //Résolutions possibles: 9,10,11,12
}
void loop(void){
sensors.requestTemperatures(); //Demande la température aux capteurs
Serial.print("La température est: ");
Serial.print(sensors.getTempCByIndex(0)); //Récupération de la température en celsius du capteur n°0
Serial.println(" C°");
}
lesept
April 22, 2018, 10:25am
2
Ca pourrait être pire, tu pourrais avoir des températures en dessous du zéro absolu !!
Plus sérieusement, as-tu testé le programme de test "Single " ? S'il fonctionne, tu sauras que ton capteur est bien branché, bien alimenté et fonctionnel. Le problème viendra alors de ton logiciel : le plus simple sera lors d'adapter l'exemple à ton besoin.
Oui je vien juste de le tester c'est pareil , dans le moniteur série il me marque : La température est: -127.00 C° aussi
walid_42:
Bonjour, j’ai un petit problème avec mon capteur ds18b20 :
dans le moniteur série, il me marque : La température est: -127.00 C° avec un programme normalement bon .
Merci d’avance pour votre aide !
Bonjour
reponse typique d'un DS18B20 "mal cablé"
la 1ere chose à faire et déjà de voir si le DS18B20 est reconnu
tu peux tester le prog ci-dessous
attention à plusieurs choses :
bien connecter DQ du DS18B20 sur le pin8 de ton arduino
verifier la methode d'alim du DS18B20 (alim vraie ou mode parasitic)
#include <OneWire.h>
// Onewire lib is here http://www.pjrc.com/teensy/td_libs_OneWire.html
OneWire ds(8); // don't forget 4.7K resistor between +5V and DQ pin
void setup(void) {
Serial.begin(9600);
}
void loop(void) {
byte i;
byte present = 0;
byte data[12];
byte addr[8];
if ( !ds.search(addr)) {
Serial.println("--------------");
Serial.println(".");
Serial.println(".");
Serial.println("END OF SCAN.");
Serial.println(".");
Serial.println();
ds.reset_search();
delay(2500);
return;
}
Serial.println("--------------");
Serial.print(" ROM =");
for( i = 0; i < 8; i++) {
Serial.write(' ');
if ( addr[i]<16) {
Serial.print("0");
}
Serial.print(addr[i], HEX);
}
if (OneWire::crc8(addr, 7) != addr[7]) {
Serial.println("CRC is not valid!");
return;
}
Serial.println();
Serial.print("CHIP FAMILY ");
Serial.print(addr[0],HEX);
// the first ROM byte indicates which chip
Serial.print(" = ");
switch (addr[0]) {
case 0x01:
Serial.println(" DS1990 DS2401"); //
break;
case 0x02:
Serial.println(" DS1991"); //
break;
case 0x04:
Serial.println(" DS1994"); //
break;
case 0x05:
Serial.println(" DS2405"); //
break;
case 0x06:
Serial.println(" DS1992"); //
break;
case 0x08:
Serial.println(" DS1993"); //
break;
case 0x0B:
Serial.println(" DS1985");
break;
case 0x10:
Serial.println(" DS1820 DS18S20 DS1920");
break;
case 0x12:
Serial.println(" DS2406");
break;
case 0x21:
Serial.println(" DS1921");
break;
case 0x22:
Serial.println(" DS1822");
break;
case 0x23:
Serial.println(" DS2433");
break;
case 0x24:
Serial.println(" DS1904");
break;
case 0x28:
Serial.println(" DS18B20");
break;
case 0x29:
Serial.println(" DS2408");
break;
case 0x2C:
Serial.println(" DS2890");
break;
case 0x36:
Serial.println(" DS2740");
break;
case 0x3B:
Serial.println(" DS1825");
break;
case 0x41:
Serial.println(" DS1923");
break;
case 0xB3:
Serial.println(" CHIP cartouche laser");
break;
default:
Serial.println(" is not listed.");
return;
}
}
Dans le moniteur série avec ton programme il me marque :
.
.
END OF SCAN.
.
et je pense que j'ai bien cabler mon ds18b20 ,
walid_42:
Dans le moniteur série avec ton programme il me marque :
.
.
END OF SCAN.
.
et je pense que j'ai bien cabler mon ds18b20 ,
Tu n'a pas repondu à ma question sur l'alim du DS18B20
Photos de ton cablage ?
DS18B20 d'origine (boitier TO92) ou DS18B20 "encapsulé/tubé" ?
Salut
Tu as bien mis en place une résistance de pull-up entre la broche signal et le 5V ?
Classiquement 4.7K.
@+
Je ne sais pas pour la méthode d’alimentation,j’ai un DS18B20 température sensor v2, oui j’ai bien mis la résistance.
walid_42:
Je ne sais pas pour la méthode d’alimentation ,j’ai un DS18B20 température sensor v2, oui j’ai bien mis la résistance.
y a pas 36 possibilités , il n'y en a que 2 (alim directe ou parasitic)
"IL est câblé comment "ton DS18B20" ?
-127° provient souvent d'un problème de câblage.
Tester la tension sur chaque broche au multimètre.
Je me suis fait avoir il n'y a pas longtemps, et pourtant c'était loin d'être mon premier DS18B20.
@+
Merciiii tout le monde j'ai finalement reusis ,c'etait un mauvais cablage :)