Mesure de température et affichage sur un ESP32
Un capteur de température, un petit afficheur et un nano processeur , tous les ingrédients sont là pour réaliser un projet utile intégrable dans des projets plus complexe.
C’est un système très simple avec un capteur de température étanche qui peut être positionné en extérieur ou même dans l’eau d’une piscine.
Matériel
4 composants sont nécessaires :
– LILYGO® TTGO T-Display 1.14 pouces ESP 32 (4MB CH9102F )
– Capteur de température DS18B20
– Résistance de 4700 ohm.
– Alimentation 5V DC / 1A
Si vous souhaitez des détails sur la carte ESP32/TFT : Info carte: Https://github.com/Xinyuan-LilyGO/TTGO-T-Display
Les éléments sont disponibles chez Aliexpress en chine.
Pour l’alimentation, il est possible d’utiliser un chargeur de téléphone avec un cable USB-C ou connecter une alimentation à la broche 5V de l’ESP32. La consommation est d’environ 150mA au maximum.
Le capteur est connecté sur la pin 13. Une résistance de 4700 ohm est à mettre entre la pin 13 et le +3.3V.
Logiciel
La programmation de la carte se fait à l’aide de l’outil de développement IDE d’Arduino. Il faut dans les préférences faire appel au gestionnaire de carte de « Espressif » qui développe l’ESP32. Allez dans Fichier / Préférences et mettez l’adresse : https://dl.espressif.com/dl/package_esp32_index.json
Dans le gestionnaire de cartes, choisissez la carte TTGO Lora32-OLED V1
Installer la bibliothèque TFT_eSPI . Comme cette librairie peut traiter différents afficheurs, il faut lui préciser le modèle utiliser dans ce projet.
Dans Arduino/librairies/TFT_eSPI ouvrir User_Setup_Select.h avec un éditeur de texte comme Bloc-Note ou Notepad++. Le dossier Arduino se trouve en général dans le dossier document.
commenter ligne //#include <User_Setup.h>
decommenter include <User_Setups/Setup25_TTGO_T_Display.h>
Pour un premier essai d’affichage, essayez l’exemple TFT_eSPI /160*128/TFT_Print_Test.ino. Il n’est pas adapté à la taille d’écran, mais permet de vérifier le système.
Pour le capteur de tempétrature DS18B20, il faut les librairies:
– Onewire
– Dallas Temperature
L’ensemble du code est écrit en utilisant l’IDE Arduino. Il est injecté par la liaison série. Il se compose de 2 fichiers :
– Mesure_Temperature_ESP32.ino
– Free_Fonts.h
Vous pouvez télécharger l’ensemble sous forme de fichier zip à décompresser dans le dossier de votre choix.
Une fois téléchargé, sélectionner la carte TTGO Lora32-OLED et le bon port série puis lancer la compilation et le téléchargement.
Affichage
La résolution de l’écran est de 240*135 pixels pour le modèle choisi. Il existe d’autres versions avec une meilleure résolution, mais cela n’est pas nécessaire pour ce projet.
c’est génial !
je cherchais justement les outils de base pour une mesure de température avec un ESP32 !
Merci pour tout ça !
C’est un petit programme bien simple, mais qui peut rendre beaucoup de service.
Bonjour Mr André
Bravo pour votre routeur version V3.03 qui fonctionne à merveille.
Je viens juste de voir votre afficheur de température qui me serait bien utile pour vérifier la température de mon chauffe-eau.
Est-ce possible de combiner énergie journalière reçue par le triac et température du CE sur un même afficheur ainsi qu’un détecteur de mouvement pour réduire la consommation de cet afficheur ?
Dominique
Je suis en train de préparer des versions avec un capteur de température et pour certaines un capteur de puissance qui passe dans le Triac.
Revenez périodiquement sur le site pour voir l’évolution des versions.
Cdlt
bonjour
merci pour tous vos partagés
justement j’étais venu voir si il y avait un montage pour connaître le cumul de puissance envoyé au cumulus par jour pour connaître sa consommation
encore merci
Bonjour André, au vue du prix de l’afficheur, pensez-vous qu’il soit possible de rajouter cette mesure de température à la maisonnette (en l’équipant du capteur) afin d’avoir les 2 types d’ informations ?
Merci d’avance
cordialement
Damien
Vous voulez mesurer la température de l’air à côté de la maisonette?
Bonsoir André,
Je pense avoir compris la démarche de Damien, si l’on met une sonde DS18B20 sur le CE (se que je vais faire) ne serait il pas possible d’avoir la température de l’eau du CE affichée sur l’Affichage à distance.
C’est juste une idée. Perso. je n’en suis pas encore là !!!!….. me faut mettre le routeur en place, donc du travail en perspective.
Cordialement.
Jean
bonjour, je viens de commander la carte et la sonde. je compte fixer l écran sur le chauffe eau et y glisser la sonde. par contre , mon routeur solaire uxi2 est 5m plus loin.je voulais savoir si vous aviez déjà expliqué comment faire pour envoyer l info température en wifi vers l esp32 du routeur. merci
Désolé, on ne peut pas envoyer la température vers le routeur.
Cdlt
Bonjour, je ne comprend pas comment et où glisser la sonde sur un chauffe eau (cumulus)? Avez vous un tuto?