ESP32 S3 - Capteur de température - OLED
Apprenez à connecter un capteur de température à fil unique DS18B20 à un ESP32 S3 et à afficher des relevés de température en direct sur un écran OLED SSD1306. Ce tutoriel vous accompagne à travers chaque étape, du câblage du matériel au téléversement du code final, afin que vous puissiez voir des données de température réelles sur un écran OLED net en quelques minutes.
Ce que vous allez construire :
- Un circuit connectant le capteur DS18B20 et l'OLED SSD1306 à l'ESP32 S3
- Un firmware qui lit la température en Celsius et en Fahrenheit depuis le capteur à fil unique DS18B20
- Un écran OLED qui se met à jour en temps réel, affichant la température centrée à l'écran
- Une base que vous pouvez étendre en stations météo, enregistreurs de données, et affichages de maison intelligente

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: Si vous souhaitez un écran OLED plus grand, utilisez le ESP32 S3 - Écran OLED SSD1309 128x64 | Tutoriel OLED I2C 2,42 pouces.
À propos de l'OLED et du capteur de température DS18B20
L'OLED SSD1306 et le capteur de température à fil unique DS18B20 sont deux des composants les plus utilisés dans les projets ESP32 S3, car les deux sont peu coûteux, faciles à câbler, et bien pris en charge par des bibliothèques Arduino matures. L'OLED communique via I2C en utilisant seulement deux fils de signal, tandis que le DS18B20 utilise une seule ligne de données avec une résistance de pull-up et prend en charge la lecture de plusieurs capteurs sur le même fil. Si vous voulez une compréhension plus approfondie de l'un ou l'autre composant avant de continuer, les tutoriels dédiés ci-dessous couvrent entièrement le brochage, les principes de fonctionnement, et des exemples de code autonomes.
Références clés
Schéma de câblage
Connecter l'ESP32 S3 à la fois au capteur DS18B20 et à l'écran OLED ne nécessite qu'une poignée de fils de câblage, car l'OLED utilise I2C et le capteur utilise une seule ligne de données. Utiliser un module DS18B20 qui inclut une carte adaptateur intégrée est fortement recommandé, car la résistance embarquée de l'adaptateur élimine le besoin d'ajouter une résistance de pull-up 4,7 kΩ séparée sur votre plaque d'essai.
Notes de sécurité
Alimentez toujours l'OLED SSD1306 depuis le rail 3,3 V de l'ESP32 S3 — appliquer 5 V directement à un écran uniquement 3,3 V l'endommagera de façon permanente. Le DS18B20 tolère à la fois le 3,3 V et le 5 V, mais utiliser 3,3 V garde tout sur un seul rail d'alimentation et évite toute préoccupation de conversion de niveau. Si vous utilisez le capteur DS18B20 brut sans adaptateur, placez une résistance de 4,7 kΩ entre la broche DATA et VCC ; sans elle, le bus à fil unique ne fonctionnera pas de façon fiable.
- Comment connecter l'ESP32 S3 avec le capteur de température et l'OLED en utilisant une plaque d'essai

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.
Les fils des modules et les fils épais tiennent souvent mal dans les connecteurs femelles. Placez la carte ESP32 S3 sur une carte à bornier à vis pour ESP32 S3, puis serrez chaque fil sous une vis. Voir le schéma ci-dessous pour la version avec borniers à vis.

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.
Voici le même circuit avec une carte d'extension GPIO pour ESP32 S3, qui relie chaque GPIO à des connecteurs à broches :

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.
- Comment connecter l'ESP32 S3 avec le capteur de température et l'OLED en utilisant une carte d'extension à bornier à vis

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.
| Broche du capteur DS18B20 | Broche ESP32 S3 |
|---|---|
| VCC | 3,3V |
| GND | GND |
| DATA | GPIO1 (ou n'importe quelle broche numérique) |
Nous vous suggérons d'acheter un capteur DS18B20 fourni avec un adaptateur de câblage pour une connexion facile. L'adaptateur possède une résistance intégrée, éliminant le besoin d'en ajouter une séparée dans le câblage.
Code ESP32 S3 - Température depuis le DS18B20 et affichage sur l'OLED
Le code suivant initialise à la fois l'OLED SSD1306 via I2C et le capteur DS18B20 sur sa broche de données à fil unique, puis entre dans une boucle qui lit la température actuelle et l'affiche centrée à l'écran OLED toutes les deux secondes. Les valeurs Celsius et Fahrenheit sont toutes deux calculées afin que vous puissiez choisir quelle unité afficher avec un simple changement dans le code source.
Étapes rapides
- Nouveau sur ESP32 S3 ? Suivez d'abord notre guide ESP32 S3 - Premiers pas.
- Préparez le câblage : connectez le capteur DS18B20 et l'OLED SSD1306 à votre ESP32 S3 selon le schéma de câblage ci-dessus.
- Connectez à l'ordinateur : branchez l'ESP32 S3 à votre ordinateur avec un câble USB Type-C.
- Ouvrez Arduino IDE : lancez Arduino IDE sur votre ordinateur.
- Sélectionnez votre carte : choisissez ESP32 S3 dans le sélecteur de carte et sélectionnez le bon port COM.
- Installez la bibliothèque OLED : cliquez sur l'icône Libraries sur la barre de gauche d'Arduino IDE.
- Recherchez SSD1306 : tapez "SSD1306" dans le champ de recherche et trouvez la bibliothèque SSD1306 d'Adafruit.
- Installez la bibliothèque : cliquez sur le bouton Install pour installer la bibliothèque.
- Search for Adafruit SSD1306 created by Adafruit and click the Install button.
- Installez les dépendances : lorsque demandé, cliquez sur Install All pour installer toutes les dépendances de bibliothèque nécessaires, y compris Adafruit GFX.
- Installez DallasTemperature : recherchez "DallasTemperature" dans le champ de recherche, puis cherchez la bibliothèque DallasTemperature de Miles Burton.
- Installez : cliquez sur le bouton Install pour installer la bibliothèque DallasTemperature.
- Search for DallasTemperature created by Miles Burton
, Tim Newsome , Guil Barros , Rob Tillaart and click the Install button.
- Installez OneWire : lorsqu'on vous demande d'installer la dépendance, cliquez sur Install All pour installer la bibliothèque OneWire.
- Téléversez le code : copiez le code ci-dessus, collez-le dans Arduino IDE, et cliquez sur le bouton Upload.
- Testez le capteur : mettez le capteur dans de l'eau chaude ou froide, ou saisissez-le avec votre main pour changer sa température.
- Consultez le résultat : regardez la température se mettre à jour en direct sur l'écran OLED.

※ Note:
Le code centre automatiquement le texte de température à la fois horizontalement et verticalement sur l'écran OLED.
Sortie du Serial Monitor
Ouvrez le Serial Monitor à 115200 bauds pour voir les valeurs brutes de température telles qu'elles sont lues depuis le capteur DS18B20, ce qui est utile pour le débogage avant que l'écran OLED soit connecté.
Applications et idées de projets
L'ESP32 S3 associé à un capteur DS18B20 et à un OLED SSD1306 forme un module d'affichage de température autonome qui s'adapte à un large éventail de projets réels. Voici des façons concrètes de mettre ce circuit au travail :
- Thermomètre autonome : construisez un thermomètre portable alimenté par pile qui affiche la température sur l'OLED sans aucune connexion série.
- Moniteur de température d'aquarium : immergez la sonde DS18B20 étanche pour suivre la température de l'eau et alerter quand elle sort de la plage.
- Station météo domestique : placez des capteurs dans plusieurs pièces et enregistrez les relevés via WiFi vers un tableau de bord ou une base de données cloud.
- Sonde alimentaire : utilisez la version étanche du DS18B20 pour surveiller les températures de cuisson ou de fermentation avec un affichage OLED clair.
- Surveillance de salle serveur : surveillez en continu la température de la baie et déclenchez un relais d'alarme si elle dépasse un seuil sûr.
- Contrôleur de serre : lisez la température du sol ou de l'air et pilotez automatiquement l'équipement de ventilation ou de chauffage.
- Thermostat DIY : combinez avec un module relais pour construire un contrôleur de température intelligent pour tout système de chauffage ou de refroidissement.
Tutoriel vidéo
Regardez la vidéo pas à pas de ce projet ESP32 S3 ci-dessous.
Mettez-vous au défi
Maintenant que votre ESP32 S3 lit la température depuis le DS18B20 et l'affiche sur un OLED, poussez le projet plus loin avec ces défis progressivement plus difficiles :
- Débutant : ajoutez une deuxième ligne à l'OLED qui affiche la température en Fahrenheit sous le relevé en Celsius.
- Débutant : ajoutez un indicateur LED qui s'allume quand la température dépasse 30 °C comme avertissement simple de surchauffe.
- Intermédiaire : connectez deux capteurs DS18B20 sur le même fil de données et affichez les deux relevés simultanément sur l'OLED, en utilisant la fonctionnalité d'adressage multi-capteurs du fil unique.
- Intermédiaire : enregistrez des relevés de température horodatés sur une carte microSD afin de pouvoir analyser des données historiques sur des heures ou des jours.
- Avancé : construisez un serveur web ESP32 S3 qui affiche un graphique de température en direct dans le navigateur, en récupérant les données du DS18B20 toutes les cinq secondes via un appel AJAX.
- Avancé : ajoutez une publication MQTT via WiFi afin que la température apparaisse sur un tableau de bord Home Assistant et déclenche des automatisations quand des seuils sont dépassés.