ESP32 S3 - Capteur de température

Découvrez comment connecter un capteur de température DS18B20 à votre ESP32 S3 et lire des données de température précises en Celsius et en Fahrenheit. Ce tutoriel adapté aux débutants vous accompagne de A à Z, du câblage à l'écriture du code Arduino.

Ce que vous allez construire :

  1. Un circuit reliant le capteur DS18B20 à votre ESP32 S3
  2. Un code Arduino qui lit la température à l'aide du protocole 1-Wire
  3. Une sortie Serial Monitor montrant les lectures en direct en Celsius et en Fahrenheit
  4. Une base que vous pouvez étendre en stations météo, aquariums, ou thermostats intelligents
ESP32 S3 - Temperature Sensor

Matériel nécessaire

1×ESP32 S3 WROOM N16R8
1×Alternativement: ESP32 S3 SuperMini Dev Module
1×Alternativement: ESP32 S3 Uno-form Board
1×Alternativement: ESP32 S3 Camera Board
1×Câble USB Type-A vers Type-C (pour PC USB-A)
1×Câble USB Type-C vers Type-C (pour PC USB-C)
1×Capteur de température DS18B20 (avec adaptateur)
1×Capteur de température DS18B20 (sans adaptateur)
1×Plaque d'essai
1×Fils de connexion
1×Optionnel: Connecteur d'alimentation DC
1×Recommandé: Screw Terminal Expansion Board for ESP32 S3
1×Recommandé: Breakout Expansion Board for ESP32 S3
1×Recommandé: Power Splitter for ESP32 S3

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)
Divulgation : Certains des liens fournis dans cette section sont des liens affiliés Amazon. Nous pouvons recevoir une commission pour tout achat effectué via ces liens, sans coût supplémentaire pour vous. Nous vous remercions de votre soutien.

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 DS18B20

Le DS18B20 est un capteur de température numérique qui communique à l'aide du protocole 1-Wire, ce qui le rend simple à intégrer à l'ESP32 S3 en utilisant une seule broche de données. Sa large plage de fonctionnement, sa bonne précision, et sa prise en charge de plusieurs capteurs sur un seul fil en font un choix populaire pour les projets de surveillance environnementale.

Spécifications clés

Le DS18B20 fonctionne entre 3,0V et 5,5V, ce qui le rend totalement compatible avec les broches GPIO 3,3V de l'ESP32 S3. Il mesure des températures de -55°C à +125°C (-67°F à +257°F) avec une précision de ±0,5°C entre -10°C et +85°C. La résolution est réglable de 9 bits à 12 bits, et le capteur communique via un seul fil de données - ce qui signifie que vous pouvez chaîner plusieurs capteurs DS18B20 sur la même broche. Une version sonde étanche est également disponible, la rendant adaptée à la mesure de température des liquides. Des longueurs de câble allant jusqu'à 100 mètres sont prises en charge, ce qui est utile pour les installations de surveillance à distance.

Brochage du capteur de température DS18B20

Le capteur DS18B20 se présente sous deux formes courantes : un boîtier de type transistor TO-92 et une version sonde étanche. Les deux exposent les trois mêmes connexions.

  1. Broche GND : connectez-la à la masse (0V)
  2. Broche VCC : connectez-la à l'alimentation (3,3V ou 5V)
  3. Broche DATA : bus de données 1-Wire - connectez-la à n'importe quelle broche numérique de l'ESP32 S3
DS18B20 temperature sensor Pinout

Le câblage traditionnel du DS18B20 nécessite une résistance de tirage de 4,7 kΩ entre les broches DATA et VCC. De nombreux modules adaptateurs DS18B20 incluent désormais une résistance de tirage intégrée et des borniers à vis, ce qui simplifie considérablement le câblage. L'utilisation d'un module adaptateur est recommandée pour les débutants.

Schéma de câblage

Connectez votre capteur de température DS18B20 à l'ESP32 S3 en suivant les schémas ci-dessous. Pour les débutants, utiliser un module adaptateur DS18B20 avec une résistance de tirage intégrée est l'approche la plus simple et réduit les risques d'erreurs de câblage.

Consignes de sécurité

Alimentez toujours le DS18B20 depuis la broche 3,3V de l'ESP32 S3 plutôt qu'en 5V, sauf si vous avez confirmé que votre module spécifique tolère le 5V. Assurez-vous que vos connexions de masse sont solides - une masse flottante est une cause fréquente de lectures d'erreur à -127°C. Si vous utilisez le boîtier TO-92 nu sans adaptateur, n'omettez pas la résistance de tirage de 4,7 kΩ entre DATA et VCC, car le protocole 1-Wire en a besoin pour une communication fiable.

Câblage avec breadboard (sans adaptateur) :

ESP32 S3 Temperature Sensor Wiring Diagram

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.

Broche DS18B20 Broche ESP32 S3
GND GND
VCC 3.3V
DATA GPIO8 (ou toute broche numérique)
Résistance de tirage 4,7kΩ entre DATA et VCC

Câblage avec module adaptateur (recommandé) :

ESP32 S3 DS18B20 Wiring Diagram

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.

Broche du module DS18B20 Broche ESP32 S3
GND (ou -) GND
VCC (ou +) 3.3V
DATA (ou S) GPIO8 (ou toute broche numérique)

Pour une installation plus facile, achetez un capteur DS18B20 avec adaptateur de câblage qui inclut la résistance intégrée.

Code ESP32 S3

Le code suivant lit les données de température du capteur DS18B20 à l'aide de la bibliothèque DallasTemperature et affiche les résultats dans le Serial Monitor toutes les secondes. Il initialise le bus 1-Wire sur la broche de données configurée, demande une conversion de température au capteur, puis affiche la lecture à la fois en Celsius et en Fahrenheit. La bibliothèque DallasTemperature gère la communication 1-Wire de bas niveau, afin que votre sketch reste propre et lisible.

/* * Ce code ESP32 S3 a été développé par newbiely.fr * Ce code ESP32 S3 est mis à disposition du public sans aucune restriction. * Pour des instructions complètes et des schémas de câblage, veuillez visiter: * https://newbiely.fr/tutorials/esp32-s3/esp32-s3-temperature-sensor */ #include <OneWire.h> #include <DallasTemperature.h> #define SENSOR_PIN 8 // The ESP32 S3 pin GPIO8 connected to DS18B20 sensor's DATA pin OneWire oneWire(SENSOR_PIN); DallasTemperature DS18B20(&oneWire); float temperature_C; // temperature in Celsius float temperature_F; // temperature in Fahrenheit void setup() { Serial.begin(115200); // Initialize the Serial to communicate with the Serial Monitor. DS18B20.begin(); // initialize the DS18B20 sensor } void loop() { DS18B20.requestTemperatures(); // send the command to get temperatures temperature_C = DS18B20.getTempCByIndex(0); // read temperature in °C temperature_F = temperature_C * 9 / 5 + 32; // convert °C to °F Serial.print("Temperature: "); Serial.print(temperature_C); // print the temperature in °C Serial.print("°C"); Serial.print(" ~ "); // separator between °C and °F Serial.print(temperature_F); // print the temperature in °F Serial.println("°F"); delay(500); }

Étapes rapides

  1. Nouveau sur l'ESP32 S3 ? Suivez d'abord notre guide ESP32 S3 - Premiers pas.
  2. Installez les bibliothèques nécessaires : ouvrez le gestionnaire de bibliothèques dans l'Arduino IDE (cliquez sur l'icône de bibliothèque dans la barre latérale gauche).
  3. Recherchez DallasTemperature : tapez « DallasTemperature » dans le champ de recherche.
  4. Installez la bibliothèque : trouvez la bibliothèque DallasTemperature par Miles Burton et cliquez sur Install.
  • Search for DallasTemperature created by Miles Burton , Tim Newsome , Guil Barros , Rob Tillaart and click the Install button.
∞
Newbiely | Arduino IDE 2.3.8
──
☐
✕
File
Edit
Sketch
Tools
Help
ESP32S3 Dev Module
Library Manager
Type:
All
Topic:
All
DallasTemperature by Miles Burton , Tim Newsome , Guil Barros , Rob Tillaart
Supports DS18B20, DS18S20, DS1822, DS1820 More info
3.9.0
INSTALL
Newbiely.ino
···
1 void setup() {
Output
Serial Monitor
Ln 1, Col 1
ESP32S3 Dev Module on COM15
1
  1. Installez la dépendance : lorsque demandé, cliquez sur Install All pour installer également la bibliothèque OneWire.
ESP32 S3 onewire library
  1. Câblez les composants : suivez le schéma de câblage ci-dessus pour connecter le capteur DS18B20 à votre ESP32 S3.
  2. Connectez votre carte : branchez l'ESP32 S3 à votre ordinateur à l'aide d'un câble USB Type-C.
  3. Sélectionnez votre carte : dans l'Arduino IDE, choisissez ESP32 S3 et le bon port COM.
  4. Téléversez le code : copiez le code ci-dessus, collez-le dans l'Arduino IDE, et cliquez sur Upload.
  5. Ouvrez le Serial Monitor : réglez le débit sur 115200 pour voir les lectures de température.
  6. Testez le capteur : tenez la sonde DS18B20 dans votre main pour la réchauffer, ou placez-la dans de l'eau chaude ou froide pour voir les changements de température.
  7. Astuce : si les lectures affichent -127°C ou 185°F, vérifiez vos connexions de câblage - cela indique presque toujours une erreur de communication avec le capteur, souvent causée par une résistance de tirage manquante ou un fil DATA mal fixé.

Sortie du Serial Monitor

Une fois que vous téléversez le code et ouvrez le Serial Monitor, vous verrez des lectures de température continues se mettre à jour chaque seconde. La sortie ci-dessous montre une session typique commençant à température ambiante et augmentant progressivement à mesure que le capteur se réchauffe.

∞
Newbiely | Arduino IDE 2.3.8
──
☐
✕
File
Edit
Sketch
Tools
Help
ESP32S3 Dev Module
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'ESP32S3 Dev Module' on 'COM15')
New Line
9600 baud
[2026-01-15 09:12:01] Temperature: 23.12°C ~ 73.62°F [2026-01-15 09:12:02] Temperature: 23.18°C ~ 73.72°F [2026-01-15 09:12:03] Temperature: 23.25°C ~ 73.85°F [2026-01-15 09:12:04] Temperature: 23.31°C ~ 73.96°F
Ln 11, Col 1
ESP32S3 Dev Module on COM15
2

Applications et idées de projets

Le capteur de température DS18B20 associé au Wi-Fi et à la puissance de traitement de l'ESP32 S3 ouvre la porte à un large éventail de projets pratiques de surveillance et d'automatisation.

  1. Station météo domestique : surveillez les températures intérieures et extérieures avec une connectivité sans fil et enregistrez les données dans le cloud.
  2. Moniteur de température d'aquarium : suivez la température de l'eau pour les bacs à poissons et déclenchez des alertes si les valeurs sortent de la plage.
  3. Thermostat intelligent : créez un système de contrôle de chauffage ou de climatisation automatisé qui réagit aux lectures des capteurs en temps réel.
  4. Moniteur de réfrigérateur : recevez des alertes lorsque la température de votre réfrigérateur sort de la plage de sécurité.
  5. Automatisation de serre : surveillez et enregistrez la température pour une croissance optimale des plantes et déclenchez automatiquement des ventilateurs.
  6. Surveillance de salle serveur : suivez la température dans les salles informatiques ou serveurs avec des alertes à distance envoyées par email ou notification push.

Tutoriel vidéo

Regardez le tutoriel vidéo étape par étape pour ce projet ESP32 S3 ci-dessous.

Défiez-vous

Une fois que votre capteur de température fonctionne, il existe de nombreuses directions pour approfondir ce projet et vos compétences sur l'ESP32 S3.

  1. Débutant : ajoutez une LED qui s'allume lorsque la température dépasse un seuil défini.
  2. Débutant : affichez les données de température sur un écran OLED au lieu du Serial Monitor.
  3. Intermédiaire : connectez plusieurs capteurs DS18B20 à un seul ESP32 S3 et lisez-les tous simultanément sur la même broche de données.
  4. Intermédiaire : envoyez les données de température à votre smartphone via Wi-Fi en utilisant le module radio sans fil intégré de l'ESP32 S3.
  5. Avancé : créez un serveur web sur l'ESP32 S3 pour afficher des graphiques de température en temps réel accessibles depuis n'importe quel navigateur sur votre réseau local.
  6. Avancé : enregistrez les données de température avec des horodatages sur une carte SD ou un service cloud pour une surveillance à long terme et une analyse des tendances.

※ NOS MESSAGES

  • N'hésitez pas à partager le lien de ce tutoriel. Cependant, veuillez ne pas utiliser notre contenu sur d'autres sites web. Nous avons investi beaucoup d'efforts et de temps pour créer ce contenu, veuillez respecter notre travail !