ESP8266 - Capteur de température

Ce tutoriel vous explique comment utiliser le capteur de température étanche DS18B20 1-fil avec l'ESP8266. Ce capteur est économique, simple à utiliser et possède un aspect attrayant.

Préparation du matériel

1×ESP8266 NodeMCU
1×Micro USB Cable
1×DS18B20 Temperature Sensor (WITH Adapter)
1×DS18B20 Temperature Sensor (WITHOUT Adapter)
1×4.7 kΩ resistor
1×Breadboard
1×Jumper Wires
1×(Optional) 5V Power Adapter for ESP8266
1×(Optional) ESP8266 Screw Terminal Adapter

Or you can buy the following sensor kits:

1×DIYables Sensor Kit (30 sensors/displays)
1×DIYables Sensor Kit (18 sensors/displays)
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.

Buy Note: Many DS18B20 sensors available in the market are unreliable. We strongly recommend buying the sensor from the DIYables brand using the link provided above. We tested it, and it worked reliably.

À propos du capteur de température à une seule broche - DS18B20

Brochage du capteur de température

Le capteur de température DS18B20 a trois broches qui doivent être connectées de manière spécifique :

  • Broche GND : doit être connectée à la terre (0V)
  • Broche VCC : doit être connectée à la source de tension (5V ou 3.3V)
  • Broche DATA : est le bus de données 1-fil et doit être connectée à une broche numérique sur la carte ESP8266.

Le capteur se présente généralement en deux variétés : le boîtier TO-92 (qui ressemble à un transistor) et une sonde étanche. Pour ce tutoriel, nous utiliserons la forme de sonde étanche.

Brochage du capteur de température DS18B20

La connexion d'un capteur de température DS18B20 à un Arduino nécessite une résistance de rappel, ce qui peut être compliqué. Heureusement, certains fabricants ont facilité les choses en proposant un adaptateur de câblage qui possède une résistance de rappel intégrée et un bloc de bornes à vis, simplifiant ainsi le processus de câblage.

Diagramme de câblage

  • Schéma de câblage utilisant une plaque d'essai.
Schéma de câblage du capteur de température ESP8266 NodeMCU

This image is created using Fritzing. Click to enlarge image

Voir plus dans l'agencement des broches de l'ESP8266 et comment alimenter l'ESP8266 et d'autres composants.

  • Schéma de câblage utilisant l'adaptateur de câblage (recommandé).
Schéma de câblage ESP8266 NodeMCU DS18B20

This image is created using Fritzing. Click to enlarge image

Nous recommandons l'achat d'un capteur DS18B20 avec son adaptateur de câblage associé pour une installation sans souci. Cet adaptateur comprend une résistance intégrée, ce qui élimine le besoin d'une résistance supplémentaire dans le câblage. Nous l'avons également testé et il a bien fonctionné.

Comment programmer le capteur de température DS18B20

  • Incluez la bibliothèque dans votre projet.
#include <OneWire.h> #include <DallasTemperature.h>
  • Déclarez un objet de type OneWire, correspondant à la broche connectée à la broche DATA du capteur. De plus, déclarez un objet de type DallasTemperature.
OneWire oneWire(SENSOR_PIN); // configurer une instance OneWire DallasTemperature DS18B20(&oneWire); // passer oneWire à la bibliothèque DallasTemperature
  • Commencez le processus de configuration du capteur :
DS18B20.begin(); // initialiser le capteur
  • Émettez la commande pour obtenir les températures.
DS18B20.requestTemperatures();
  • Lisez la température en Celsius.
temperature_C = DS18B20.getTempCByIndex(0);
  • Calculez le Fahrenheit à partir du Celsius :
temperature_F = temperature_C * 9 / 5 + 32;

Code ESP8266

/* * Ce code ESP8266 NodeMCU a été développé par newbiely.fr * Ce code ESP8266 NodeMCU 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/esp8266/esp8266-temperature-sensor */ #include <OneWire.h> #include <DallasTemperature.h> #define SENSOR_PIN D7 // The ESP8266 pin connected to DS18B20 sensor's DQ pin OneWire oneWire(SENSOR_PIN); DallasTemperature DS18B20(&oneWire); float temperature_C; // temperature in Celsius float temperature_F; // temperature in Fahrenheit void setup() { Serial.begin(9600); // 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

Pour commencer avec ESP8266 sur Arduino IDE, suivez ces étapes :

  • Consultez le tutoriel comment configurer l'environnement pour ESP8266 sur Arduino IDE si c'est votre première utilisation de ESP8266.
  • Connectez les composants comme indiqué dans le schéma.
  • Connectez la carte ESP8266 à votre ordinateur à l'aide d'un câble USB.
  • Ouvrez Arduino IDE sur votre ordinateur.
  • Choisissez la bonne carte ESP8266, telle que (par exemple, NodeMCU 1.0 (Module ESP-12E)), et son port COM respectif.
  • Connectez l'ESP8266 à un ordinateur à l'aide d'un câble USB.
  • Ouvrez l'Arduino IDE, sélectionnez la carte et le port appropriés.
  • Cliquez sur l'icône Libraries dans la barre latérale gauche de l'Arduino IDE.
  • Recherchez “Dallas”, puis localisez la bibliothèque DallasTemperature créée par Miles Burton.
  • Appuyez sur le bouton Install pour installer la bibliothèque DallasTemperature.
Bibliothèque de température Dallas ESP8266 NodeMCU
  • Vous serez invité à installer la dépendance. Cliquez sur le bouton Install All pour installer la bibliothèque OneWire.
Bibliothèque onewire ESP8266 NodeMCU
  • Copiez le code et ouvrez-le avec l'IDE Arduino.
  • Cliquez sur le bouton Upload dans l'IDE pour transférer le code vers l'ESP8266.
  • Placez le capteur dans de l'eau chaude et froide ou tenez-le dans votre main.
  • Vérifiez les résultats sur le moniteur série.
COM6
Send
Temperature: 26.31°C ~ 79.36°F Temperature: 26.44°C ~ 79.59°F Temperature: 26.50°C ~ 79.70°F Temperature: 26.56°C ~ 79.81°F Temperature: 27.06°C ~ 80.71°F Temperature: 27.75°C ~ 81.95°F Temperature: 28.37°C ~ 83.07°F Temperature: 29.00°C ~ 84.20°F Temperature: 29.56°C ~ 85.21°F Temperature: 30.00°C ~ 86.00°F Temperature: 30.31°C ~ 86.56°F Temperature: 30.62°C ~ 87.12°F Temperature: 30.87°C ~ 87.57°F
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

Vidéo

※ OUR MESSAGES

  • Please feel free to share the link of this tutorial. However, Please do not use our content on any other websites. We invested a lot of effort and time to create the content, please respect our work!