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×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×4.7 kΩ Resistor
1×Plaque d'essai
1×Fils de connexion
1×Optionnel: 5V Power Adapter for ESP8266
1×Recommandé: Carte d'extension à bornier à vis pour ESP8266
1×Recommandé: Répartiteur d'alimentation pour ESP8266 Type-C

Ou vous pouvez acheter les kits suivants:

1×Kit de Capteurs DIYables (30 capteurs/écrans)
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 à 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

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

Pour plus d'informations, consultez Brochage ESP8266. et Comment alimenter l'ESP8266..

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

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'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 Installation du logiciel ESP8266. 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

※ 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 !