ESP8266 - Système de refroidissement utilisant le capteur de température DS18B20

Ce tutoriel vous explique comment utiliser l'ESP8266 pour contrôler la température avec un ventilateur et un capteur de température DS18B20.

Si vous préférez utiliser un capteur DHT11 ou DHT22 au lieu du DS18B20, veuillez consulter ESP8266 - Système de refroidissement utilisant un capteur DHT.

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×Relay
1×12V DC Cooling Fan
1×(Alternative) 5V DC Cooling Fan
1×12V Power Adapter
1×DC Power Jack
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 ventilateur de refroidissement et du capteur de température DS18B20

Le tutoriel utilise un ventilateur de refroidissement alimenté par une source de 12V. Si l'alimentation est fournie, le ventilateur s'active et si elle est retirée, le ventilateur s'éteint. Pour contrôler le ventilateur avec un ESP8266, un relais doit être utilisé comme intermédiaire.

Si vous n'êtes pas familier avec les capteurs de température et les ventilateurs (y compris les brochages, leur fonctionnement et comment les programmer), les tutoriels suivants peuvent vous aider :

Diagramme de câblage

  • Schéma de câblage utilisant une planche à pain.
Schéma de câblage du système de ventilation pour 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 un adaptateur de borne (recommandé).
Schéma de câblage du relais de commande ESP8266 NodeMCU

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 inclut une résistance intégrée, éliminant le besoin d'une résistance supplémentaire dans le câblage.

Comment fonctionne le système

  • L'ESP8266 vérifie la température à l'aide du capteur de température.
  • Si la température est supérieure à la limite supérieure réglée, le ventilateur est activé par l'ESP8266.
  • Si la température est inférieure à la limite inférieure réglée, l'ESP8266 éteint le ventilateur.

Cette procédure est répétée sans fin dans un cycle.

Si vous souhaitez allumer et éteindre le ventilateur lorsque la température est au-dessus ou en dessous d'un certain seuil, réglez simplement les seuils supérieur et inférieur à la même valeur.

Code ESP8266 pour système de refroidissement avec capteur DS18B20

/* * 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-cooling-system-using-ds18b20-temperature-sensor */ #include <OneWire.h> #include <DallasTemperature.h> #define THRESHOLD_ON 30 // upper temperature threshold #define THRESHOLD_OFF 15 // lower temperature threshold #define SENSOR_PIN D7 // The ESP8266 pin connected to DS18B20 sensor's DQ pin #define FAN_PIN D1 // The ESP8266 pin connected to relay OneWire oneWire(SENSOR_PIN); DallasTemperature DS18B20(&oneWire); 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 float temperature = DS18B20.getTempCByIndex(0); // read temperature in Celsius if (temperature > THRESHOLD_ON) { Serial.println("Turn the fan on"); digitalWrite(FAN_PIN, HIGH); // turn on } else if (temperature < THRESHOLD_OFF) { Serial.println("Turn the fan off"); digitalWrite(FAN_PIN, LOW); // turn off } delay(500); }

Dans le code ci-dessus, lorsque la température dépasse 25°C, l'ESP8266 activera le ventilateur. Le ventilateur restera en marche jusqu'à ce que la température descende en dessous de 20°C.

É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 l'ESP8266.
  • Connectez les composants comme indiqué sur 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, comme (par exemple NodeMCU 1.0 (Module ESP-12E)), et son port COM respectif.
  • Branchez le câble USB pour connecter l'ESP8266 au PC
  • Lancez Arduino IDE, choisissez 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 trouvez la bibliothèque DallasTemperature de 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 dans l'IDE Arduino.
  • Cliquez sur le bouton Upload pour transférer le code vers l'ESP8266.
  • Modifiez la température de l'environnement autour du capteur.
  • Vérifiez l'état du ventilateur sur le moniteur série.

Connaissances Avancées

La méthode de contrôle décrite ci-dessus est celle du régulateur tout ou rien, également appelé signaleur ou régulateur "bang-bang". Cette méthode est assez simple à mettre en pratique.

Une approche alternative connue sous le nom de régulateur PID existe. Cette méthode permet d’atteindre une température souhaitée plus stable, cependant, elle est complexe à comprendre et à mettre en œuvre. En conséquence, le régulateur PID n'est pas couramment utilisé pour la régulation de température.

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!