ESP32 - Système de refroidissement utilisant le capteur DHT

Ce tutoriel vous explique comment fabriquer un système de refroidissement en utilisant un ESP32, un capteur de température DHT11/DHT22 et un ventilateur. En détail :

Préparation du matériel

1×ESP-WROOM-32 Dev Module
1×USB Cable Type-C
1×DHT11 Temperature and Humidity Sensor
1×(Optional) DHT22 Temperature and Humidity Sensor
1×Relay
1×12V DC Cooling Fan
1×(Alternative) 5V DC Cooling Fan
1×12V Power Adapter
1×Breadboard
1×Jumper Wires
1×(Optional) DC Power Jack
1×(Recommended) ESP32 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.

Sur le ventilateur de refroidissement et le capteur DHT.

Nous avons des tutoriels spécifiques sur le capteur de température et le ventilateur. Chaque tutoriel contient des informations détaillées et des instructions étape par étape sur le brochage du matériel, le principe de fonctionnement, la connexion des fils à l'ESP32, le code ESP32... Pour en savoir plus sur ces sujets, consultez les liens suivants :

Diagramme de câblage

  • Schéma de câblage avec module DHT11
Schéma de câblage du système de ventilateur de refroidissement ESP32

This image is created using Fritzing. Click to enlarge image

Si vous ne savez pas comment alimenter l'ESP32 et d'autres composants, vous pouvez trouver des conseils dans le tutoriel suivant : Comment alimenter l'ESP32.

  • Schéma de câblage avec module DHT22
Schéma de câblage du système de ventilateur de refroidissement ESP32

This image is created using Fritzing. Click to enlarge image

Fonctionnement du système

  • L'ESP32 lit la température à partir du capteur de température DHT11 ou DHT22
  • Si la température est au-dessus d'un seuil supérieur, l'ESP32 active automatiquement le ventilateur
  • Si la température est en dessous d'un seuil inférieur, l'ESP32 éteint automatiquement le ventilateur

ESP32 continue de vérifier la température indéfiniment.

Le seuil inférieur et le seuil supérieur peuvent avoir la même valeur.

Code ESP32

Code ESP32 pour le capteur DHT11

/* * Ce code ESP32 a été développé par newbiely.fr * Ce code ESP32 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/esp32-cooling-system-using-dht-sensor */ #include <DHT.h> #define DHT_SENSOR_PIN 23 // ESP32 pin GPIO23 connected to DHT11 #define RELAY_FAN_PIN 18 // ESP32 pin GPIO18 connected to relay #define DHT_SENSOR_TYPE DHT11 #define TEMP_UPPER_THRESHOLD 30 // upper temperature threshold #define TEMP_LOWER_THRESHOLD 15 // lower temperature threshold DHT dht_sensor(DHT_SENSOR_PIN, DHT_SENSOR_TYPE); void setup() { Serial.begin(9600); // initialize serial 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 > TEMP_UPPER_THRESHOLD) { Serial.println("Turn the fan on"); digitalWrite(RELAY_FAN_PIN, HIGH); // turn on } else if (temperature < TEMP_LOWER_THRESHOLD) { Serial.println("Turn the fan off"); digitalWrite(RELAY_FAN_PIN, LOW); // turn off } } // wait a 2 seconds between readings delay(2000); }

Code ESP32 pour le capteur DHT22

/* * Ce code ESP32 a été développé par newbiely.fr * Ce code ESP32 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/esp32-cooling-system-using-dht-sensor */ #include <DHT.h> #define DHT_SENSOR_PIN 23 // ESP32 pin GPIO23 connected to DHT22 #define RELAY_FAN_PIN 18 // ESP32 pin GPIO18 connected to relay #define DHT_SENSOR_TYPE DHT22 #define TEMP_UPPER_THRESHOLD 30 // upper temperature threshold #define TEMP_LOWER_THRESHOLD 15 // lower temperature threshold DHT dht_sensor(DHT_SENSOR_PIN, DHT_SENSOR_TYPE); void setup() { Serial.begin(9600); // initialize serial 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 > TEMP_UPPER_THRESHOLD) { Serial.println("Turn the fan on"); digitalWrite(RELAY_FAN_PIN, HIGH); // turn on } else if (temperature < TEMP_LOWER_THRESHOLD) { Serial.println("Turn the fan off"); digitalWrite(RELAY_FAN_PIN, LOW); // turn off } } // wait a 2 seconds between readings delay(2000); }

Les codes ESP32 ci-dessus allument automatiquement le ventilateur si la température dépasse 30°C, et maintiennent le ventilateur en marche jusqu'à ce que la température descende en dessous de 15°C.

Étapes rapides

  • Si c'est la première fois que vous utilisez l'ESP32, consultez comment configurer l'environnement pour l'ESP32 sur Arduino IDE.
  • Réalisez le câblage comme sur l'image ci-dessus.
  • Connectez la carte ESP32 à votre PC via un câble micro USB.
  • Ouvrez Arduino IDE sur votre PC.
  • Sélectionnez la bonne carte ESP32 (par exemple, Module de développement ESP32) et le port COM.
  • Cliquez sur l'icône Libraries dans la barre latérale gauche de l'Arduino IDE.
  • Tapez "DHT" dans la zone de recherche, puis recherchez la bibliothèque de capteurs DHT par Adafruit.
  • Installez la bibliothèque en cliquant sur le bouton Install.
Bibliothèque de capteur DHT ESP32
  • Une fenêtre apparaît pour vous demander d'installer les dépendances pour la bibliothèque
  • Installez toutes les dépendances pour la bibliothèque en cliquant sur le bouton Install All.
Bibliothèque de capteurs unifiée Adafruit ESP32
  • Copiez l'un des codes ci-dessus et ouvrez-le avec Arduino IDE.
  • Compilez et téléchargez le code sur la carte ESP32 en cliquant sur le bouton Upload de l'IDE Arduino.
  • Rendez le capteur plus froid ou plus chaud. Par exemple, en plaçant le capteur près d'une tasse de café chaud.
  • Vérifiez l'état du ventilateur.

Connaissances avancées

  • L'algorithme utilisé dans le tutoriel ci-dessus pour contrôler la température est appelé le régulateur tout ou rien (également connu sous le nom de régulateur "bang-bang" ou le signaleur). Cet algorithme est simple à mettre en œuvre et fonctionne bien pour la régulation de la température.
  • Une alternative à l'algorithme ci-dessus est le régulateur PID. Le régulateur PID rend la température désirée plus stable. Cependant, il est très difficile à comprendre et à mettre en œuvre. Par conséquent, le régulateur PID n'est pas largement utilisé dans la régulation 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!