ESP32 S3 - Capteur de température - Matrice de LED
Ce tutoriel vous montre comment utiliser l'ESP32 S3 pour lire des données de température depuis un capteur one-wire DS18B20 et les afficher en direct sur une matrice de LED FC-16. En combinant deux périphériques populaires sur une seule carte, vous construisez un affichage de température autonome qui fait défiler le relevé actuel sur la matrice de LED sans aucun ordinateur une fois programmé.
Ce que vous allez construire :
- Un circuit connectant le capteur de température DS18B20 et la matrice de LED FC-16 à l'ESP32 S3
- Un code Arduino qui lit la température depuis le DS18B20 et l'écrit sur la matrice de LED en temps réel
- Un affichage défilant qui montre les valeurs Celsius et Fahrenheit sur la matrice de LED
- Une base que vous pouvez étendre en stations météo, panneaux intelligents, ou moniteurs environnementaux

Matériel Requis
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é.
À propos du capteur de température et de la matrice de LED
Le capteur de température DS18B20 et la matrice de LED FC-16 sont deux composants polyvalents qui fonctionnent bien ensemble sur l'ESP32 S3. Le DS18B20 utilise un protocole 1-Wire à un seul fil pour délivrer des relevés de température numériques précis, tandis que la matrice de LED FC-16 utilise une simple interface SPI pilotée par la puce MAX7219 pour afficher du texte et des nombres défilants sur une grille de 32×8. Les combiner vous permet de construire un panneau de température autonome qui se met à jour en continu sans matériel d'affichage supplémentaire.
Nous avons des tutoriels dédiés couvrant chaque composant individuellement avec des informations complètes 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 de ces périphériques :
Spécifications clés
Le DS18B20 fonctionne entre 3,0V et 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, et prend en charge plusieurs capteurs sur un seul fil de données. La matrice de LED FC-16 est constituée de blocs 8×8 chaînés ensemble et pilotés par des puces MAX7219 via SPI ; un module 4-en-1 fournit un affichage 32×8 contrôlé par seulement trois broches de signal. Comme la matrice de LED peut tirer jusqu'à 1 A à luminosité maximale, elle doit être alimentée par une source 5V externe plutôt que par la broche 5V embarquée de l'ESP32 S3.
Schéma de câblage
Connectez le capteur de température DS18B20 et la matrice de LED FC-16 à votre ESP32 S3 en suivant les schémas ci-dessous. Les deux composants partagent le même rail de masse, et utiliser un module adaptateur DS18B20 avec une résistance de tirage vers le haut intégrée simplifie la construction en éliminant le besoin d'une résistance séparée de 4,7 kΩ.
Notes de sécurité
Alimentez le DS18B20 depuis la broche 3,3V de l'ESP32 S3 pour rester dans sa plage de fonctionnement recommandée. Alimentez la matrice de LED depuis une source 5V externe plutôt que depuis la broche 5V embarquée de l'ESP32 S3, car la matrice peut tirer suffisamment de courant pour causer une instabilité si elle est alimentée directement depuis la carte. Connectez ensemble la masse de l'alimentation 5V externe, de la matrice de LED, et de l'ESP32 S3 afin qu'elles partagent une référence commune. Si vous utilisez le boîtier DS18B20 nu TO-92 sans adaptateur, n'omettez jamais la résistance de tirage vers le haut de 4,7 kΩ entre les lignes DATA et VCC, car le protocole 1-Wire l'exige pour une communication fiable.
Schéma de câblage :

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.
Vous voulez que le câblage reste bien en place ? La carte ESP32 S3 se branche sur une carte à bornier à vis pour ESP32 S3, qui transforme chaque broche en bornier à vis. Voici le même circuit câblé avec la carte à bornier à vis :

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 de la matrice de LED FC-16 :
| Broche de la matrice de LED | Broche ESP32 S3 |
|---|---|
| VCC | 5V externe |
| GND | GND (partagée avec l'ESP32 S3) |
| DIN | GPIO40 (MOSI) |
| CS | GPIO39 (ou toute broche numérique) |
| CLK | GPIO38 (SCK) |
Code ESP32 S3
Le code suivant lit la température depuis le capteur DS18B20 en utilisant la bibliothèque DallasTemperature et fait défiler le relevé Celsius actuel sur l'affichage de la matrice de LED FC-16, en mettant à jour le message toutes les deux secondes. Il initialise le bus 1-Wire sur la broche de données configurée, demande une conversion de température, formate le résultat en chaîne de caractères, puis utilise la bibliothèque MD_Parola pour le faire défiler sur la matrice. Les bibliothèques DallasTemperature et MD_Parola gèrent toutes deux la communication de bas niveau, gardant votre sketch concis et facile à adapter.
※ Note:
Le code centre automatiquement le texte de température horizontalement et verticalement sur l'affichage de la matrice de LED.
Étapes rapides
- Nouveau sur l'ESP32 S3 ? Terminez d'abord notre guide ESP32 S3 - Premiers pas.
- Ouvrez le gestionnaire de bibliothèques : Cliquez sur l'icône Libraries dans la barre latérale gauche d'Arduino IDE.
- Installez MD_Parola : Saisissez "MD_Parola" dans la zone de recherche, trouvez la bibliothèque MD_Parola, et cliquez sur Install.
- Search for MD_Parola created by majicDesigns and click the Install button.
- Installez la dépendance : Lorsque demandé, cliquez sur Install All pour installer également la bibliothèque MD_MAX72XX requise.
- Installez DallasTemperature : Saisissez "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.
- Installez OneWire : Lorsque demandé, cliquez sur Install All pour installer également la bibliothèque OneWire requise.

- Câblez les composants : Suivez le schéma de câblage ci-dessus pour connecter à la fois le capteur DS18B20 et la matrice de LED à votre ESP32 S3.
- Connectez votre carte : Branchez l'ESP32 S3 à votre ordinateur à l'aide d'un câble USB Type-C.
- Sélectionnez votre carte : Dans Arduino IDE, choisissez la carte ESP32 S3 et le bon port COM.
- Téléversez le code : Copiez le code ci-dessus, collez-le dans Arduino IDE, et cliquez sur le bouton Upload.
- Observez la matrice de LED : L'affichage fera défiler la température actuelle en Celsius toutes les deux secondes.
- Testez le capteur : Tenez la sonde DS18B20 dans votre main ou placez-la dans de l'eau chaude ou froide pour voir le relevé changer sur la matrice.
- Astuce : Si les relevés affichent -127°C sur la matrice, vérifiez le câblage de votre DS18B20 — cette valeur d'erreur signifie presque toujours une résistance de tirage vers le haut manquante ou un fil DATA mal fixé.
Sortie du Serial Monitor
Une fois le code téléversé et le Serial Monitor ouvert à 115200 bauds, vous verrez des relevés de température affichés toutes les deux secondes en parallèle de ce qui défile sur la matrice de LED. La sortie ci-dessous montre une session typique pendant que le capteur se réchauffe depuis la température ambiante.
Applications et idées de projets
Combiner un capteur de température et une matrice de LED avec l'ESP32 S3 est idéal pour toute situation où la température doit être visible à distance sans moniteur ni écran. Voici des façons pratiques d'utiliser ce projet :
- Panneau de température extérieur : Montez la matrice de LED à une fenêtre ou une entrée pour montrer la température ambiante d'un coup d'œil depuis l'autre bout d'une pièce.
- Indicateur de salle serveur : Affichez la température du rack sur un panneau matriciel afin que les techniciens puissent repérer une surchauffe sans se connecter à un tableau de bord.
- Thermomètre de serre : Faites défiler les données de température sur un affichage visible à l'intérieur d'une serre afin que les travailleurs connaissent les conditions sans vérifier un téléphone.
- Affichage de sécurité d'atelier : Montrez la température dans les environnements où la chaleur est un danger, donnant aux travailleurs un avertissement visible quand les conditions changent.
- Démonstration de classe de sciences : Utilisez l'affichage de température défilant comme une expérience en direct pour montrer comment la température change avec des sources de chaleur ou de l'isolation.
- Affichage de rayon de vente : Combinez avec un relais pour déclencher des ventilateurs ou des alertes lorsqu'un boîtier surveillé dépasse un seuil, la matrice montrant l'état actuel.
Vidéo
Regardez ci-dessous le tutoriel vidéo étape par étape de ce projet ESP32 S3.
Défis
Essayez ces défis pour approfondir votre compréhension de la combinaison du capteur de température DS18B20 et de la matrice de LED avec l'ESP32 S3.
- Débutant : Modifiez le code pour faire défiler à la fois les valeurs Celsius et Fahrenheit dans le même message, séparées par une barre oblique, afin que le relevé complet boucle en continu.
- Intermédiaire : Ajoutez un second capteur DS18B20 sur le même fil de données et alternez l'affichage de la température de chaque capteur sur des cycles de défilement successifs.
- Avancé : Construisez un panneau de température connecté au Wi-Fi où vous pouvez mettre à jour le message d'affichage à distance via une interface web simple hébergée sur l'ESP32 S3, mélangeant les relevés de capteur en direct avec du texte personnalisé.