ESP8266 - Système de refroidissement utilisant un capteur DHT

Ce tutoriel vous explique comment réguler la température à l'aide d'un ventilateur et d'un capteur DHT11 ou DHT22.

Si vous préférez utiliser un capteur DS18B20 au lieu d'un capteur DHT, veuillez consulter ESP8266 - Système de refroidissement utilisant le capteur DS18B20.

Préparation du matériel

1×ESP8266 NodeMCU
1×Micro USB Cable
1×DHT11 Temperature and Humidity Sensor
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

You can use DHT22 sensor instead of DHT11 sensor.

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.

À propos du ventilateur de refroidissement et du capteur DHT

Le ventilateur dans ce tutoriel nécessite une alimentation de 12v. Si l'alimentation est fournie, le ventilateur s'allumera, sinon, il restera éteint. Pour contrôler le ventilateur avec un ESP8266, nous devons utiliser un relais comme intermédiaire.

Si vous n'êtes pas familier avec le capteur de température et le ventilateur (y compris le brochage, leur fonctionnement et la programmation), les tutoriels suivants peuvent vous fournir les informations nécessaires :

Diagramme de câblage

  • Un schéma montrant les connexions d'un module DHT11.
Schéma de câblage du système de ventilateur de refroidissement 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.

  • Un schéma montrant les connexions d'un module DHT22
  • Une illustration du câblage pour un module DHT22
Schéma de câblage du système de ventilateur de refroidissement ESP8266 NodeMCU

This image is created using Fritzing. Click to enlarge image

Fonctionnement du système

  • L'ESP8266 obtient la température du capteur de température.
  • Si la température est supérieure au seuil maximal, l'ESP8266 active le ventilateur.
  • Si la température est inférieure au seuil minimal, l'ESP8266 éteint le ventilateur.

Cette boucle est répétée sans fin.

Code ESP8266

Code ESP8266 pour système de refroidissement avec capteur DHT11

/* * 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-dht-sensor */ #include <DHT.h> #define FAN_PIN D2 // The ESP8266 pin connected to relay #define DHT_SENSOR_PIN D7 // The ESP8266 pin connected to DHT11 sensor #define DHT_SENSOR_TYPE DHT11 #define THRESHOLD_ON 30 // upper temperature threshold #define THRESHOLD_OFF 15 // lower temperature threshold DHT dht_sensor(DHT_SENSOR_PIN, DHT_SENSOR_TYPE); void setup() { Serial.begin(9600); // Initialize the Serial to communicate with the Serial Monitor. dht_sensor.begin(); // initialize the DHT sensor } void loop() { float temperature = dht_sensor.readTemperature();; // read temperature in Celsius if (isnan(temperature)) { Serial.println("Failed to read from DHT sensor!"); } else { 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 } } // wait a 2 seconds between readings delay(2000); }

Code ESP8266 pour système de refroidissement avec capteur DHT22

/* * 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-dht-sensor */ #include <DHT.h> #define FAN_PIN D2 // The ESP8266 pin connected to relay #define DHT_SENSOR_PIN D7 // The ESP8266 pin connected to DHT22 sensor #define DHT_SENSOR_TYPE DHT22 #define THRESHOLD_ON 30 // upper temperature threshold #define THRESHOLD_OFF 15 // lower temperature threshold DHT dht_sensor(DHT_SENSOR_PIN, DHT_SENSOR_TYPE); void setup() { Serial.begin(9600); // Initialize the Serial to communicate with the Serial Monitor. dht_sensor.begin(); // initialize the DHT sensor } void loop() { float temperature = dht_sensor.readTemperature();; // read temperature in Celsius if (isnan(temperature)) { Serial.println("Failed to read from DHT sensor!"); } else { 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 } } // wait a 2 seconds between readings delay(2000); }

Dans les codes ci-dessus, l'ESP8266 activera le ventilateur lorsque la température sera supérieure à 25°C et le maintiendra en fonctionnement jusqu'à ce que la température descende en dessous de 20°C.

Étapes rapides

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

  • Consultez le tutoriel comment configurer l'environnement pour ESP8266 sur Arduino IDE si c'est la première fois que vous utilisez ESP8266.
  • Câblez les composants comme indiqué dans le schéma.
  • Connectez la carte ESP8266 à votre ordinateur via un câble USB.
  • Ouvrez l'Arduino IDE sur votre ordinateur.
  • Choisissez la bonne carte ESP8266, comme (par exemple NodeMCU 1.0 (Module ESP-12E)), et son port COM respectif.
  • Connectez un ESP8266 à un PC à l'aide d'un câble USB
  • Ouvrez l'Arduino IDE, sélectionnez la bonne carte et le bon port
  • Cliquez sur l'icône Libraries dans la barre gauche de l'Arduino IDE.
  • Recherchez « DHT » et localisez la bibliothèque du capteur DHT d'Adafruit.
  • Appuyez sur le bouton Install pour ajouter la bibliothèque.
Bibliothèque de capteur DHT ESP8266 NodeMCU
  • On vous demandera d'installer d'autres dépendances de bibliothèques.
  • Cliquez sur le bouton Install All pour installer toutes les dépendances de bibliothèques.
Bibliothèque de capteurs unifiée Adafruit ESP8266 NodeMCU
  • Sur le moniteur série
  • Copiez le code associé au capteur que vous avez et ouvrez-le dans l'IDE Arduino.
  • Cliquez sur le bouton Upload dans l'IDE Arduino pour compiler et téléverser le code vers l'ESP8266.
  • Modifiez la température de la zone autour du capteur.
  • Consultez le statut du ventilateur sur le moniteur série.

Connaissances avancées

La méthode de contrôle mentionnée ci-dessus est appelée régulateur tout ou rien, également connu sous le nom de signaleur ou régulateur "bang-bang". Cette approche est très facile à mettre en place.

Une approche alternative est le régulateur PID. Cette méthode rend la régulation de la température plus stable, cependant elle est complexe et difficile à comprendre et à appliquer. En conséquence, le régulateur PID n'est pas largement utilisé pour le contrôle de la 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!