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.

F1ATB André

Radio Amateur - Domotique - Photovoltaïque

Vous aimerez aussi...

11 réponses

  1. Samuel BURG dit :

    c’est génial !
    je cherchais justement les outils de base pour une mesure de température avec un ESP32 !
    Merci pour tout ça !

  2. Dominique dit :

    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

    • F1ATB André dit :

      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

      • Patricio dit :

        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

  3. UHRICH dit :

    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

    • F1ATB André dit :

      Vous voulez mesurer la température de l’air à côté de la maisonette?

      • MATHIEU Jean dit :

        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

  4. Iso dit :

    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

  5. Damien dit :

    Bonjour, je ne comprend pas comment et où glisser la sonde sur un chauffe eau (cumulus)? Avez vous un tuto?