ESP32 - Koelsysteem met DHT Sensor

Deze handleiding laat u zien hoe u een koelsysteem maakt met ESP32, een DHT11/DHT22 temperatuursensor en een ventilator. In detail:

Over de Koelventilator en de DHT Sensor

We hebben specifieke tutorials over temperatuursensoren en ventilatoren. Elke tutorial bevat gedetailleerde informatie en stapsgewijze instructies over hardware pinout, werkingsprincipe, bekabeling naar ESP32, ESP32-code... Leer er meer over via de volgende links:

Aansluitschema

  • Aansluitschema met DHT11 module
ESP32 koelsysteem ventilator aansluitdiagram

This image is created using Fritzing. Click to enlarge image

  • Aansluitschema met DHT22 module
ESP32 koelsysteem ventilator aansluitdiagram

This image is created using Fritzing. Click to enlarge image

Hoe Werkt het Systeem

  • De ESP32 leest de temperatuur uit de DHT11 of DHT22 temperatuursensor
  • Wanneer de temperatuur boven een bovengrens komt, schakelt de ESP32 automatisch de ventilator aan
  • Wanneer de temperatuur onder een ondergrens komt, schakelt de ESP32 automatisch de ventilator uit

De ESP32 blijft de temperatuur oneindig controleren.

De ondergrens en bovengrens kunnen dezelfde waarde zijn.

ESP32 Code

ESP32 Code voor DHT11 sensor

/* * Deze ESP32 code is ontwikkeld door newbiely.nl * Deze ESP32 code wordt zonder enige beperking aan het publiek beschikbaar gesteld. * Voor volledige instructies en schema's, bezoek: * https://newbiely.nl/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); }

ESP32 Code voor DHT22 sensor

/* * Deze ESP32 code is ontwikkeld door newbiely.nl * Deze ESP32 code wordt zonder enige beperking aan het publiek beschikbaar gesteld. * Voor volledige instructies en schema's, bezoek: * https://newbiely.nl/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); }

De bovenstaande ESP32 codes schakelen de ventilator automatisch aan als de temperatuur boven 30°C komt en houden de ventilator aan totdat de temperatuur onder 15°C daalt.

Snelle Stappen

  • Als u ESP32 voor het eerst gebruikt, bekijk dan hoe de omgeving in te stellen voor ESP32 in Arduino IDE.
  • Maak de bekabeling zoals in bovenstaande afbeelding.
  • Verbind de ESP32 board met uw pc via een micro USB-kabel.
  • Open Arduino IDE op uw pc.
  • Selecteer de juiste ESP32 board (bijv. ESP32 Dev Module) en de juiste COM-poort.
  • Klik op het Libraries icoon in de linker zijbalk van Arduino IDE.
  • Typ “DHT” in het zoekveld en zoek naar de DHT sensor bibliotheek van Adafruit.
  • Installeer de bibliotheek door op de knop Install te klikken.
ESP32 DHT sensor bibliotheek
  • Er verschijnt een venster om u te vragen ook de afhankelijkheden (dependencies) van de bibliotheek te installeren.
  • Installeer alle afhankelijkheden door op Install All te klikken.
ESP32 Adafruit Unified sensor bibliotheek
  • Kopieer een van bovenstaande codes en open die in Arduino IDE.
  • Compileer en upload de code naar uw ESP32 board door op de knop Upload te klikken in Arduino IDE.
  • Breng de sensor in een warmere of koudere omgeving, bijvoorbeeld door de sensor bij een hete kop koffie te plaatsen.
  • Controleer de status van de ventilator.

Geavanceerde Kennis

  • Het algoritme dat in bovenstaande tutorial wordt gebruikt om de temperatuur te regelen heet de aan-uitregelaar (ook bekend als "bang-bang" controller, of signaalregelaar). Dit algoritme is eenvoudig te implementeren en werkt goed bij temperatuurregelingen.
  • Een alternatief is de PID-controller. De PID-controller zorgt voor een stabielere gewenste temperatuur. Echter, de PID-controller is moeilijker te begrijpen en te implementeren. Daarom wordt deze niet veel toegepast bij temperatuurregeling.

Video Tutorial

We overwegen het maken van videotutorials. Als u videotutorials belangrijk vindt, abonneer u dan op ons YouTube-kanaal om ons te motiveren de video's te maken.

*(Video gedeelte wordt niet vertaald, behoud videolink indien aanwezig)*

Reacties

*(Reactiesectie wordt niet vertaald indien leeg)*

※ ONZE BERICHTEN

  • U bent welkom om de link naar deze tutorial te delen. Gebruik onze inhoud echter niet op andere websites. We hebben veel moeite en tijd gestoken in het maken van de inhoud, respecteer alstublieft ons werk!