Capteur DS18B20

Bonjour
J'utilise sur mon uno un ds18b20 composant avec un code que j'ai a travers ce forum merci les expert le code fonctionne a merveille.
Maintenant j'ai utilise un ds18b20 complet ( sonde ) et trois fils mais a la la sortie avec le même code j'ai -0.06. Pourquoi et comment le faire fonctionner.

Merci.
Ci-Joint la photo de la sonde

Bonjour,

Si j'ai bien compris en regardant l'image, tu as deux capteurs.

Tu dis:" à sortie avec le même code j'ai -0.06"

Si tu veux de l'aide, il faut donner le code et expliquer ce que tu veux faire/afficher.

Bonjour
En fait j'ai qu'un seul capteur

Ton schéma en montre deux pourtant

Donne ton code

turw:
Bonjour
J'utilise sur mon uno un ds18b20 composant avec un code que j'ai a travers ce forum merci les expert le code fonctionne a merveille.
Maintenant j'ai utilise un ds18b20 complet ( sonde ) et trois fils mais a la la sortie avec le même code j'ai -0.06. Pourquoi et comment le faire fonctionner.

Merci.
Ci-Joint la photo de la sonde

bonjour
attention avec les DS18B20 tubés inox , déjà vu sur le forum : certains lots sont cablés n'importe comment, la couleur des fils ne correspondant à rien !

quelles couleur les fils ?

exemple de cablage (re)trouvé sur un lot
Rouge=VCC
Jaune=GND
Vert= DATA

Artouste tu es un champion chapeau bas j'ai eu le même problème en utilisant les codes couleurs. Je vais voir avec les codes proposes.

Re,

turw:
Artouste tu es un champion chapeau bas j'ai eu le même problème en utilisant les codes couleurs. Je vais voir avec les codes proposes.

Pas un champion mais un dieu :grin: 8)
Autre point à ne pas oublier : l'expérience (expérience = la liste des conneries à ne pas refaire est plus longue) :wink:

Code couleur Rouge Noir blanc j'ai eu un problème de chauffe en utilisant un code couleur correct

Voici le code que j'utilise et qui ne marche avec la sonde ds18b20 waterproof

#include <OneWire.h>

// http://www.pjrc.com/teensy/td_libs_OneWire.html

OneWire  ds(10);  // on pin 10 (a 4.7K resistor is necessary)

byte present = 0;
byte data[12];
// byte addr[8] = {0x28, 0x09, 0x53, 0x66, 0x00, 0x00, 0x00, 0xCA}; // DS18B20 test artouste OK
byte addr[8] = {0x28, 0xFF, 0x53, 0x5B, 0x3C, 0x04, 0x00, 0x81}; // DS18B20 scan TURW
float celsius;
unsigned int delact=1000; // delai de reactualisation temp ne doit pas etre < à 750 pour 12bits
unsigned long lastconv; 
// unsigned long inconv; // pour test durée lecture temp
void setup(void) {
  Serial.begin(9600);
}
void loop(void) {
  temp(); // là la loop ne fait qu'appeller la fonction temp()
}

void temp(void) { // fonction temp non bloquante de reactualisation de temperature

if (millis()>lastconv+delact) { //si le delai de reactu n'est pas atteint , on zappe
  // inconv=millis(); // entrée lecture temp
  present = ds.reset();
  ds.select(addr);
  ds.write(0xBE);         // Lecture Scratchpad
  for ( byte i = 0; i < 9; i++) {           
    data[i] = ds.read();
  }

  int16_t raw = (data[1] << 8) | data[0];

  celsius = (float)raw / 16.0;
  //Serial.println(millis()-inconv); // debug
  Serial.println(celsius);

  // demande de conversion
  ds.reset();
  ds.select(addr);
  ds.write(0x44, 1);
  lastconv=millis();
}
}

ça y est, c'est un jeu de devinette.
Bon, en fait tu as deux capteurs dont un 'waterproof'.
Le premier capteur a pour adresse: 0x28, 0x09, 0x53, 0x66, 0x00, 0x00, 0x00, 0xCA.
Le code présenté fonctionne avec celui-là.
Le deuxième capteur (waterproof) a pour adresse: 0x28, 0xFF, 0x53, 0x5B, 0x3C, 0x04, 0x00, 0x81 , comment la connais-tu ? ,programme de scan?, si oui, il n'y a aucune raison que le code ne fonctionne pas.

Tu dis: "Code couleur Rouge Noir blanc j'ai eu un problème de chauffe en utilisant un code couleur correct", tu parles de quel capteur?, le waterproof?
Si il à chauffé à cause d'une erreur de câblage il est peut-être HS. Si tu as repéré le bon câblage, un coup de scan.

Bonjour
Comment je fais le scan pour l'adresse ?.

Mais comment connais-tu l'adresse du "waterproof"?

Je ne sais pas j'ai rien fait le code que j'ai est celui pour le composant et non pas pour le Waterproof.

Ne mélangeons pas tout.
Le code c'est le programme que tu à mis en ligne.
L'adresse du DS18B20 (composant) c'est laquelle ?
0x28, 0x09, 0x53, 0x66, 0x00, 0x00, 0x00, 0xCA
ou
0x28, 0xFF, 0x53, 0x5B, 0x3C, 0x04, 0x00, 0x81
et où l'as-tu prise.

Faire un 'scan' c'est charger dans la UNO un programme qui va scruter le bus 'oneWire' pour récupérer et afficher les adresses des composants 'onewire' qui y sont connectés.

Dans la lib. 'OneWire' il y a un exemple (DS18x20_Temperature.pde) qui permet cela et d'afficher la température si un capteur est présent.