Uno R3 + DS18B20 (capteur tpt°)

Bonsoir,

Je viens de réaliser un montage tout simple (je débute) :

  • Arduino Uno R3 (alimenté par USB connecté à l'ordi)
  • Arduino IDE 2.3.6
  • OneWire Library / Jim Studt 2.3.8
  • DallasTemperature Library / Miles Burton 4.0.5
  • Sonde étanche vendue comme DS18B20 avec 5m de câble (chinoiserie sans ref exacte)

J'ai suivi ce tutoriel : Faire un scanneur de bus 1-Wire avec une carte Arduino.
J'ai poussé le code, jusque là RAS.

Je débranche ensuite le câble USB, je branche une sonde, en ayant bien vérifié les connections, et je rebranche le câble USB (alimentation).

La LED de la carte ne s'allume pas. Est-ce que c'est normal ? Je suppose que non...

Merci pour votre aide.

Hello, tu dois créer un court circuit entre vcc et gnd.

Es tu sur de ton repérage des fils du capteur?

Puis de leur raccordement sur la platine ?

Le capteur à 3 fils :

  • rouge : connecté au +
  • noir : connecté au GND
  • jaune : connecté à PIN 10

J'ai oublié de précisé que j'ai vérifié la valeur de la résistance.

Est-ce que le fait d'avoir 3 sondes enroulées ensemble ça ne peut pas venir de ça ?
Je voulais faire un croquis avec 3 sondes, mais j'ai commencé par 1 seule (et ça ne fonctionne pas...)

NON.

Il vaut mieux commencer par une sonde.
Quand avec une sonde cela ne fonctionne pas, cela fonctionnera encore moins bien avec plusieurs.

Le mieux est quand même de commencer avec exactement les conditions de l'exemple de la bibliothèque.
Les exemples sont garantis fonctionnels, surtout avec une UNO.
Si cela ne fonctionne pas, c'est que le câblage n'est pas bon.

Comme @dfgh, je pense à une erreur de câblage si c'est bien la diode qui indique la présence du 5 V qui ne s'allume pas.
Probablement inversion de l'alimentation.
Comme la carte Uno est équipée d'un polyfuse (fusible réarmable) la carte n'a pas dû souffrir.

Question : si tu débranches absolument tout, cette diode s'allume-t-elle de nouveau ?
Comme dans cette manip, il n'y aura plus rien de connecté, tu pourras refaire un câblage à blanc.
Bienvenue dans le monde réel : les erreurs les plus évidentes ne sont pas les plus faciles à détecter.

Conseil : une photo n'est pas un schéma.
Ce n'est pas simple au début, mais essaye de faire un vrai schéma, pour nous, c'est bien plus simple.
Si tu ne sais pas faire installe "fritzing". Tu réaliseras l'équivalent de ta photo.
Une fois terminé dans les menus, tu trouveras où cliquer pour obtenir le vrai schéma électrique que Fritzing sait faire et tu mettras ce schéma en pièce jointe comme ta photo.

Je viens de changer le code et de sonde (j'aurai pu y penser plus tôt... :zany_face:)

Le code est copié ici : Mesurer une température avec un capteur 1-Wire DS18B20 et une carte Arduino

// Inclusion de la bibliothèque
#include <OneWire.h>

// Connecteur numérique relié à DQ
const byte DS_PIN = 10;


// Création de l'objet associé au DS18B20
OneWire ds(DS_PIN);


//
// Fonction de lecture de la température
//
void getTemperature(float *temperature) {
 byte data[9], addr[8]; // Données et Adresse du module DS18B20
 
 // Réinitialisation du bus
 ds.reset_search();

 // Recherche du capteur
 if (!ds.search(addr)) return;
 
 // Vérification de l'adresse reçue
 if (OneWire::crc8(addr, 7) != addr[7]) return;
 
 // Vérification du modèle de capteur (DS18B20)
 if (addr[0] != 0x28) return;

 // Sélection du capteur
 ds.reset();
 ds.select(addr);
 
 // Lancement de la mesure
 ds.write(0x44, 1);
 delay(800);
 
 // Resélection du capteur
 ds.reset();
 ds.select(addr);
 
 // Envoie d'une demande de lecture
 ds.write(0xBE);
 
 // Lecture des données
 for (byte i = 0; i < 9; i++) {
 data[i] = ds.read();
 }
 
 // Conversion des données en degrés Celcius
 *temperature = ((data[1] << 8) | data[0]) * 0.0625;
}



void setup() {
 Serial.begin(115200);
 }



void loop() {
 float temperature;
 
 // Lecture de la température
 getTemperature(&temperature);
 
 // Affichage de la température
 Serial.print(F("Temperature : "));
 Serial.print(temperature, 1);
 Serial.write(176); // Caractère degré
 Serial.write('C');
 Serial.println();
 }

Dans le moniteur j'ai ça :

On avance....

Oui, mais on ne courre pas.

As-tu éclairci cette histoire de diode qui s'allume ou non ?

En attendant dans ton programme, tu règles le débit de la liaison série à 115200, c'est bien, le débit de 9600 que l'on voit (trop) souvent dans les exemples est moyenâgeux.

Mais tu as laissé le moniteur de l'IDE à 9600, d'où les signes cabalistiques qui apparaissent à l'écran.

Change et cela deviendra lisible :grinning_face:

Oui, avec une nouvelle sonde les led sont allumées. Y'en a même une 3ème qui clignote ( :slightly_smiling_face:)

Voici le schéma (sonde en composant, la version étanche n'est pas dans la bibliothèque)

Oui !!!!!! :+1:

ça baisse bien :smiling_face_with_sunglasses:

C'est bien de donner toutes les évolutions.

Je n'ai pas fritzing, je ne peux pas te donner le chemin pour avoir le schéma électrique.
STP essaye de le trouver.

Là avec un montage aussi simple, on s'en sort. Avec des montages plus conséquents cela deviendra impossible, donc autant apprendre dès le début.

Je ne comprend pas ta remarque/question, dsl :pensive_face:

Par contre, il ne connait pas le caractère degré "°", cç vient d'où ?

 Serial.write(176); // Caractère degré

Ce que tu as donné est dessin de câblage avec des belles photos.

Ce que nous préférons, parce que c'est dessus que nous travaillons, c'est une représentation où la carte Uno est un simple rectangle, où le nom de toutes les pins figure.
Où la DS18B20 est aussi un rectangle où le nom de toutes les pins figure.
Où la valeur de la résistance figure sur le schéma.

Je viens de poser la question à une IA (GPT4 o-mini) :
"Comment obtenir un schéma électrique à partir d'une réalisation fritzing ?"
Réponse :

Exporter le schéma depuis Fritzing

  1. Ouvrir votre projet Fritzing : Lancez Fritzing et ouvrez le projet contenant votre réalisation.
  2. Accéder à l'onglet "Schéma" : Cliquez sur l'onglet "Schéma" en haut de l'interface. Cela vous permettra de visualiser le schéma électrique de votre circuit.
  3. Vérifier le schéma : Assurez-vous que tous les composants sont correctement connectés et que le schéma représente fidèlement votre circuit.
    Note : je corrige en : que le schéma représente bien ce que vous voulez faire
  4. Exporter le schéma :
  • Allez dans le menu "Fichier".
  • Sélectionnez "Exporter" puis "Exporter en tant qu'image" ou "Exporter en tant que PDF" selon vos besoins.

Je précise bien que pour ce sujet, avec une seule sonde, nous sommes parfaitement capables de récréer le schéma électrique dans notre tête, mais ce ne sera pas toujours le cas et un certain nombre d'aidants bénévoles refuseront de faire l'effort parce qu'on ne travaille pas avec un dessin de câblage, mais avec un schéma électrique.

C’est noté !!
Merci pour ces précisions.

J’utilise ThinkerCad, et il y a une vue comme tu me demandes :

Farpait.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.