ESP32 S3 - Capteur de température - LCD
Ce tutoriel vous montre comment utiliser l'ESP32 S3 pour lire les données de température depuis un capteur DS18B20 et les afficher en direct sur un écran LCD I2C 16x2. En combinant deux périphériques populaires sur une seule carte, vous construisez un moniteur de température autonome qui ne nécessite aucun ordinateur une fois programmé.
Ce que vous allez construire :
- Un circuit connectant le capteur de température DS18B20 et le LCD I2C à l'ESP32 S3
- Un code Arduino qui lit la température et l'écrit sur le LCD en temps réel
- Un affichage qui montre les valeurs en Celsius et en Fahrenheit sur des lignes séparées
- Une base que vous pouvez étendre en thermostats intelligents, enregistreurs de données ou moniteurs environnementaux

Matériel nécessaire
Ou vous pouvez acheter les kits suivants:
| 1 | × | Kit de Démarrage DIYables ESP32 S3 (ESP32 S3 inclus) | |
| 1 | × | Kit de Capteurs DIYables (18 capteurs/écrans) |
Note d'achat: De nombreux capteurs DS18B20 sur le marché sont de faible qualité. Nous recommandons vivement d'acheter le capteur de la marque DIYables en utilisant le lien ci-dessus. Nous l'avons testé et il a bien fonctionné.
Note d'achat: La plupart des écrans LCD I2C du marché sont des modèles 5V. Ils peuvent fonctionner avec cette carte, mais ce n'est pas sûr et cela risque d'endommager la carte. Nous recommandons vivement d'utiliser l'écran LCD I2C 3.3V recommandé ci-dessus.
À propos du capteur de température et du LCD
Le capteur de température DS18B20 et le LCD I2C 16x2 sont deux des périphériques les plus populaires utilisés avec l'ESP32 S3. Le DS18B20 communique via un bus 1-Wire à un seul fil et fournit des lectures de température numériques précises, tandis que le LCD I2C utilise seulement deux lignes I2C pour afficher des caractères sur un écran de 16 colonnes par 2 lignes. Les combiner crée un moniteur de température autonome à la fois compact et facile à câbler.
Nous avons des tutoriels dédiés couvrant chaque composant individuellement avec des informations détaillées sur le brochage, des schémas de câblage et des exemples de code autonomes. Consultez-les avant de commencer ce projet si vous n'êtes pas encore familier avec l'un ou l'autre périphérique :
Spécifications clés
Le DS18B20 fonctionne de 3,0V à 5,5V et est entièrement compatible avec les broches GPIO 3,3V de l'ESP32 S3. Il mesure des températures de -55°C à +125°C avec une précision de ±0,5°C entre -10°C et +85°C, communiquant via un seul fil de données qui prend en charge plusieurs capteurs en parallèle. Le LCD I2C 16x2 fonctionne en 5V et communique à l'adresse I2C standard de 0x27 ou 0x3F, offrant un affichage de 16 colonnes par 2 lignes avec un contraste réglable et un rétroéclairage intégré pour une lecture claire en faible luminosité.
Schéma de câblage
Connectez le capteur de température DS18B20 et l'écran LCD I2C à votre ESP32 S3 en suivant les schémas ci-dessous. Les deux composants partagent les mêmes rails d'alimentation et de masse, ce qui rend le montage simple sur une breadboard. Utilisez un module adaptateur DS18B20 avec une résistance de tirage intégrée pour simplifier le câblage et éviter le besoin d'une résistance séparée de 4,7kΩ.
Notes de sécurité
Alimentez le DS18B20 depuis la broche 3,3V de l'ESP32 S3 et alimentez le LCD I2C depuis la broche VBUS (5V) — n'inversez pas ces connexions, car appliquer 5V à la broche de données du DS18B20 sans adaptation de niveau peut causer des dommages. Assurez-vous toujours que les lignes de masse des deux composants sont connectées au même GND sur l'ESP32 S3 pour éviter des références flottantes. Si vous utilisez le boîtier DS18B20 nu TO-92 sans adaptateur, n'omettez jamais la résistance de tirage de 4,7kΩ entre les lignes DATA et VCC, car le protocole 1-Wire en a besoin.
Schéma de câblage :

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.
Vous voulez un montage plus propre et plus sûr ? Dans ce cas, utilisez une carte à bornier à vis pour ESP32 S3. La carte ESP32 S3 s'y branche et chaque broche a un bornier à vis. Les broches ne changent pas. Branchez simplement chaque fil sur le bornier à vis correspondant :

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.
Une autre solution est une carte d'extension GPIO pour ESP32 S3. Chaque GPIO a une broche de signal avec une broche 3,3V et une broche GND à côté, comme ci-dessous :

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.
Connexions du capteur de température DS18B20 :
| Broche DS18B20 | Broche ESP32 S3 |
|---|---|
| GND | GND |
| VCC | 3.3V |
| DATA | GPIO1 (ou toute broche numérique) |
Connexions du LCD I2C :
| Broche LCD I2C | Broche ESP32 S3 |
|---|---|
| VCC | VBUS (5V) |
| GND | GND |
| SCL | GPIO9 (horloge I2C) |
| SDA | GPIO8 (données I2C) |
Code ESP32 S3
Le code suivant lit la température depuis le capteur DS18B20 en utilisant la bibliothèque DallasTemperature et affiche les valeurs en Celsius et en Fahrenheit sur l'écran LCD I2C 16x2, se mettant à jour une fois par seconde. Il initialise le bus 1-Wire sur la broche de données configurée, demande une conversion au capteur, puis écrit les chaînes de température formatées sur les lignes du LCD à l'aide de la bibliothèque DIYables LCD I2C. La bibliothèque DallasTemperature gère toute la communication du protocole 1-Wire, gardant votre sketch lisible et facile à modifier.
※ Note:
L'adresse du LCD I2C peut être différente selon chaque fabricant. Dans le code, nous avons utilisé l'adresse 0x27 spécifiée par le fabricant DIYables. Si votre LCD n'affiche rien, essayez plutôt l'adresse 0x3F.
Étapes rapides
- Nouveau sur ESP32 S3 ? Complétez d'abord notre guide ESP32 S3 - Premiers pas.
- Ouvrir le Library Manager : Cliquez sur l'icône Libraries dans la barre latérale gauche de l'Arduino IDE.
- Installer DallasTemperature : Tapez "DallasTemperature" dans la zone de recherche, trouvez la bibliothèque de Miles Burton, et cliquez sur Install.
- Search for DallasTemperature created by Miles Burton
, Tim Newsome , Guil Barros , Rob Tillaart and click the Install button.
- Installer la dépendance : Lorsque vous y êtes invité, cliquez sur Install All pour installer également la bibliothèque OneWire requise.

- Installer la bibliothèque DIYables LCD I2C : Tapez "DIYables LCD I2C" dans la zone de recherche, trouvez la bibliothèque DIYables_LCD_I2C de DIYables, et cliquez sur Install.
- Search for DIYables LCD I2C created by DIYables.io and click the Install button.
- Câbler les composants : Suivez le schéma de câblage ci-dessus pour connecter à la fois le capteur DS18B20 et le LCD I2C à votre ESP32 S3.
- Connecter votre carte : Branchez l'ESP32 S3 à votre ordinateur à l'aide d'un câble USB Type-C.
- Sélectionner votre carte : Dans l'Arduino IDE, choisissez la carte ESP32 S3 et le bon port COM.
- Téléverser le code : Copiez le code ci-dessus, collez-le dans l'Arduino IDE, et cliquez sur le bouton Upload.
- Voir le LCD : L'affichage montrera la température actuelle en Celsius sur la ligne du haut et en Fahrenheit sur la ligne du bas, se mettant à jour chaque seconde.
- Tester le capteur : Tenez la sonde DS18B20 dans votre main ou placez-la dans de l'eau chaude ou froide pour voir les lectures changer sur le LCD.
- Astuce Pro : Si le LCD n'affiche absolument rien, ajustez le petit potentiomètre de contraste à l'arrière du module LCD — le tourner légèrement suffit souvent à rendre le texte visible.
Sortie du Serial Monitor
Une fois que vous avez téléversé le code et ouvert le Serial Monitor à 115200 bauds, vous verrez des lectures de température affichées chaque seconde en même temps que ce qui est montré sur le LCD. La sortie ci-dessous montre une session typique tandis que le capteur se réchauffe depuis la température ambiante.
Idées d'applications et de projets
Combiner un capteur de température et un écran LCD avec l'ESP32 S3 ouvre la porte à une grande variété de projets pratiques et éducatifs.
- Thermomètre domestique : Affichez la température intérieure sur le LCD afin d'avoir toujours une lecture rapide sans ouvrir une application sur votre téléphone.
- Moniteur d'aquarium : Placez une sonde DS18B20 étanche dans un aquarium et montrez la température de l'eau sur un LCD monté à l'extérieur du bac.
- Thermostat intelligent : Lisez la température sur le LCD et déclenchez un relais pour allumer et éteindre un chauffage ou un ventilateur selon des seuils de consigne.
- Contrôleur de serre : Surveillez la température de l'espace de culture et affichez des alertes sur le LCD quand les valeurs sortent des plages sûres pour vos plantes.
- Moniteur de salle serveur : Montez le capteur et l'affichage dans une baie pour voir la température ambiante en un coup d'œil sans accéder à un tableau de bord réseau.
- Suivi de stockage alimentaire : Gardez un œil sur les températures du réfrigérateur ou du congélateur avec un affichage LCD visible et une alerte sonore par buzzer pour des valeurs dangereuses.
Tutoriel vidéo
Regardez la vidéo pas à pas de ce projet ESP32 S3 ci-dessous.
Défiez-vous
Une fois que votre capteur de température et votre LCD fonctionnent ensemble, ces défis pousseront vos compétences en ESP32 S3 plus loin avec des tâches progressivement plus complexes.
- Débutant : Ajoutez un second capteur DS18B20 et affichez les deux lectures simultanément — une sur chaque ligne du LCD.
- Débutant : Montrez un message d'avertissement sur le LCD quand la température dépasse un seuil que vous définissez dans le code.
- Intermédiaire : Ajoutez un bouton-poussoir qui bascule l'affichage LCD entre les modes Celsius uniquement et Fahrenheit uniquement quand il est enfoncé.
- Intermédiaire : Enregistrez les lectures de température avec horodatage dans le Serial Monitor chaque minute tandis que le LCD montre une lecture en direct chaque seconde.
- Avancé : Construisez un serveur web sur l'ESP32 S3 qui sert un graphique de température en temps réel accessible depuis n'importe quel navigateur sur votre réseau local, avec le LCD montrant la valeur actuelle localement.
- Avancé : Ajoutez un module RTC afin que le LCD affiche à la fois l'heure actuelle et la température, et enregistrez les données avec horodatage sur une carte SD pour une analyse à long terme.