Cette vidéo explique comment réaliser un thermomètre digital en utilisant une sonde de température DS18B20, un arduino, et un écran LCD avec le module I2C.
Bonus Jeremyrenove ds18b20 et LCD
Faire un don permet de maintenir cette chaine en vie et permet également d’effectuer des recherches indépendantes dans le bâtiment et l’énergie. En effet, tout est réinvestis pour produire de nouvelles vidéos (achat de matériaux et de produits) pour faire de nouvelles recherches, des essais, et test que je vous présente. Même un petit montant apporte sa pierre à l’édifice et sans cela, cette chaine serait vouée à mourir. Donc un grand merci pour votre soutien et pour vos dons. Je ne peux que vous encourager à continuer en cliquant sur les liens ci-dessous :
Soutenir par tipeee
Soutenir par carte ou paypal
Soutenir par patreon
Soutenir par utip
Acheter mon livre
Acheter une séance de coaching privé
Transcription texte la domotique à 2 € construire un thermomètre avec une sonde numérique de température DS18B20 , un arduino , et un écran LCD avec module I2C :
Salut, alors aujourd’hui, dans cet épisode de la domotique à 2€, on va voir comment utiliser une sonde de température de type DS18B20, car ces sondes sont des capteurs numériques que j’adore utiliser pour faire de la domotique à la maison pour plusieurs raisons. Déjà, elles sont très précises et affichent des températures avec une précision de 0.06°C, elles sont également très réactives, à peine je touche le capteur que la température augmente immédiatement. La réactivité de ces sondes est juste parfaite, il n’y a aucune inertie comme pour un thermomètre à mercure classique.
Egalement, leur forme est trés pratique aussi, car si on veut connaitre des températures sur des canalisations telles qu’un tuyau de chauffage, de plancher chauffant, des tuyaux d’eau froide, ou d’eau chaude sanitaire, il suffira de positionner la sonde sur le tuyau, et de la scotcher avec du scotch aluminium pour une meilleur conductivité thermique. Egalement, lorsqu’on a des doigts de gants, on peut mettre sa sonde dans le doigt de gant pour connaitre la température à l’intérieur du tuyau, ces sondes se prêtent à ce type d’utilisation. Elles ressemble d’ailleurs aux sondes de températures industrielles les sondes type PT100 et PT1000. La plage de fonctionnement de température va de -55°C jusqu’à +125°C. Elles sont étanches, juste je la met dans un verre d’eau et le fil également, et la sonde fonctionne toujours.
Parlons du prix, elles coutent entre 85 centimes d’euros et 95 centimes d’euros la sonde de température. Pour le câblage, il n’y a que 3 fils, un noir, un rouge et un jaune. Il faut juste une résistance de 4.7Kohm entre le rouge et le fil signal.
Une autre fonction intéressante avec ces sondes, il est possible d’en brancher plusieurs sur la même entrée. C’est à dire que si je choisis de brancher mes sondes sur le pin N°6 je pourrais brancher jusqu’a 5 sondes sur cette seule entrée. Et l’arduino saura me ressortir la température de chacune des sondes.
Lorsque je dit que ces sondes sont extrêmement précises et réactives, faisons un test, la température affichée est de 21.94°C cette température est stable, puis, je touche la sonde DS18B20. Et immédiatement la valeur augmente, et cela monte vite. Donc pour mesurer des températures de contactes, c’st trés utile.
Pour câbler une sonde de température DS18B20, c’est trés simple, il y a 3 fils, il faut brancher le noir sur la borne négative, le rouge sur le +5V et le jaune sur une entrée digitales de l’arduino. Et ensuite, il faut mettre une résistance de 4.7Kohm entre le +5Volt et le fil signal jaune. Une résistance de 4.7Kohm, c’est une résistance qui a une couleur Jaune, violet, et rouge. Et ensuite, j’ai simplement branché un écran LCD 16 x 2 pour afficher la température, je l’ai câblé avec le GND, le +5V, et les bornes SDA et SCL qui permettent de commander une écran LCD avec le protocole I2C. Mais j’ai déja fait une vidéo sur ce sujet, donc je ne détaille pas trop ici.
J’imagine qu’il est assez difficile de visualiser le schéma de câblage, donc c’est pourquoi en dessous, dans la description, il y a un lien pour cliquer et télécharger le schéma de câblage sur l’arduino.
Maintenant passons dans l’interface de programmation arduino et regardons comment cela fonctionne. Nous voici maintenant dans le programme permettant de commander les sondes de températures DS18B20. Première chose, il va falloir inclure des bibliothèques. Il faut aller dans croquis, puis inclure une bibliothèque, puis gérer les bibliothèques. Puis, dans le gestionnaire de bibliothèque, nous allons chercher une bibliothèque qui s’appel onewire. Il faut installer la bibliothèque onewire by jim studt, moi j’ai la version 2.3.3, il y a des versions plus ressentes, à voir laquelle fonctionne le mieux pour vous. Une fois cette bibliothèque importée, il faut importer la bibliothèque dallas température. Il faut choisir la première, moi j’ai la version 3.7.6, mais apparemment il y a des versions plus récentes, à vous de voir laquelle fonctionne le mieux pour vous.
Et il est écrit que la bibliothèque dallas température fonctionne pour les sondes ds18b20 , ds18s20 , ds1822 , et d’autres sondes. Première chose, on importe ces bibliothèques.
Dans notre programme, on lui dis inclure la bibliothèque onewire.h, inclure la bibliothèque dallas température, puis ensuite on a des bibliothèques pour commander l’écran LCD, donc on inclus la bibliothèque wire.h et la bibliothèque liquidcrystal_i2c.h
Ensuite, nous allons définir un bus de communication, donc define, one wire bus, et le numéro 6. 6 correspond au port sur lequel les fils sont branchés sur l’arduino. Je suis branché sur le pin digital 6 de l’arduino,, mais si on se met sur le digital 8 ou 9 ou autre, il faut mettre le bon numéro au bon endroit. Ensuite il faut écrire une ligne de code onewire pour définir que one wire fonctionne avec le bus. Ensuite, on écrit une ligne pour définir que dallastempérature est une sonde de température qui fonctionne avec onewire. Ensuite on définis les caractéristiques de notre écran LCD, donc l’adresse de celui ci et le nombre de caractères et de lignes de l’écran.
Ensuite dans le void setup on initialise l’écran, on active le rétro éclairage, et on passe tout de suite dans le void loop. Et dans le void loop, pour commander notre capteur de température, on va envoyer une requête de température à la sonde. Il faudra bien faire attention à mettre un T majuscule dans le programme pour température, sinon cela ne marchera pas. Il faut aussi mettre les parenthèses ouvertes et fermées. Ensuite on définis la variable flottante x et on lui demande de relever la température par la commande get température. Et en ayant écris cette ligne (voir dans le programme en bonus) on définis que x est la variable de température qui correspond à notre sonde.
Maintenant, il y a uniquement des lignes pour l’écran LCD qui nous permettent d’afficher la température. Sur la première ligne, j’écris domotique à 2€, ensuite sur la ligne du dessous j’écris T1= ensuite j’écris la valeur de x et ensuite j’écris degrés. Pour écrire degrés j’écris ‘C car si j’utilise le symbole ° il se produit un bug, et cela ne fonctionne pas pour un problème de polices de caractères, j’ai donc trouvé que l’apostrophe était le symbole qui s’en rapprochait le plus.
Et là, juste en écrivant ces quelques lignes de code et en les envoyant dans l’arduino, on fait afficher une température sur notre écran LCD. Donc pour ceux qui veulent reproduire ce montage à la maison avec le schéma de câblage de l’arduino et le code que l’on vient de voir ensemble, sous la vidéo, dans la description, il y a un lien. Voila, bon courage pour vos travaux, à plus tard, salut.
Bonjour,
Puis-je avoir le schéma et le code pour de la vidéo “La domotique à 2€ faire un thermomètre digital avec un arduino DS18B20 et LCD I2C”
Merci
Merci pour ce très bon Tuto.
J aimerais reproduire votre système
Bonjour,
Merci pour le tuto ,toujours au top les explications.
Bonjour, aimerais faire un thermomètre pour ma température d huile sur ma moto avec une sonde temp de 1/8 npt (sonde courante en auto) CTN et un afficheur OLED ou 16×2.
Merci par avance
Cordialement
svp besoin du code
SVP Lisez le texte ecrit sous la video et cliquez sur le lien correspondant, merci 🙂