ESP32 - Kühlsystem mit DHT-Sensor

Dieses Tutorial zeigt Ihnen, wie Sie ein Kühlsystem mit ESP32, DHT11/DHT22-Temperatursensor und Lüfter bauen. Im Detail:

Über den Kühlventilator und den DHT-Sensor

Wir haben spezifische Tutorials zum Temperatursensor und zum Lüfter. Jedes Tutorial enthält detaillierte Informationen und eine Schritt-für-Schritt-Anleitung zur Hardware-Pinbelegung, zum Funktionsprinzip, zur Verkabelung mit dem ESP32 und zum ESP32-Code... Erfahren Sie mehr darüber in den folgenden Links:

Verdrahtungsdiagramm

  • Verdrahtungsdiagramm mit DHT11-Modul
Schaltplan des ESP32-Kühlventilator-Systems

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.

Wenn Sie nicht wissen, wie Sie ESP32 und andere Komponenten mit Strom versorgen, finden Sie Anleitungen im folgenden Tutorial: Wie man ESP32 mit Strom versorgt.

  • Schaltplan mit DHT22-Modul
Schaltplan des ESP32-Kühlgebläse-Systems

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.

Wie das System funktioniert

  • Der ESP32 liest die Temperatur vom DHT11- oder DHT22-Temperatursensor
  • Wenn die Temperatur einen oberen Schwellenwert überschreitet, schaltet der ESP32 den Ventilator automatisch ein
  • Wenn die Temperatur einen unteren Schwellenwert unterschreitet, schaltet der ESP32 den Ventilator automatisch aus

Der ESP32 prüft die Temperatur ununterbrochen.

Der untere Schwellenwert und der obere Schwellenwert können denselben Wert haben.

ESP32-Code

ESP32-Code für DHT11-Sensor

/* * Dieser ESP32 Code wurde von newbiely.de entwickelt * Dieser ESP32 Code wird der Öffentlichkeit ohne jegliche Einschränkung zur Verfügung gestellt. * Für vollständige Anleitungen und Schaltpläne besuchen Sie bitte: * https://newbiely.de/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 für DHT22-Sensor

/* * Dieser ESP32 Code wurde von newbiely.de entwickelt * Dieser ESP32 Code wird der Öffentlichkeit ohne jegliche Einschränkung zur Verfügung gestellt. * Für vollständige Anleitungen und Schaltpläne besuchen Sie bitte: * https://newbiely.de/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); }

Die oben genannten ESP32-Codes schalten den Lüfter automatisch ein, wenn die Temperatur über 30 °C liegt, und halten ihn eingeschaltet, bis die Temperatur unter 15 °C fällt.

Schnelle Schritte

  • Wenn dies das erste Mal ist, dass Sie ESP32 verwenden, siehe wie man die Umgebung für ESP32 in der Arduino IDE einrichtet.
  • Schließen Sie die Verkabelung wie im obigen Bild an.
  • Schließen Sie das ESP32-Board über ein Micro-USB-Kabel an Ihren PC an.
  • Öffnen Sie die Arduino IDE auf Ihrem PC.
  • Wählen Sie das richtige ESP32-Board (z. B. ESP32 Dev Module) und den COM-Port aus.
  • Klicken Sie auf das Bibliotheken-Symbol in der linken Leiste der Arduino IDE.
  • Geben Sie “DHT” in das Suchfeld ein, suchen Sie dann nach der DHT-Sensor-Bibliothek von Adafruit.
  • Installieren Sie die Bibliothek, indem Sie auf die Installieren-Schaltfläche klicken.
ESP32 DHT-Sensor-Bibliothek
  • Ein Fenster erscheint, das Sie bittet, Abhängigkeiten für die Bibliothek zu installieren.
  • Installieren Sie alle Abhängigkeiten der Bibliothek, indem Sie auf die Schaltfläche Alle installieren klicken.
ESP32 Adafruit einheitliche Sensorbibliothek
  • Kopieren Sie einen der obigen Codes und öffnen Sie ihn mit der Arduino-IDE
  • Kompilieren Sie den Code und laden Sie ihn auf das ESP32-Board hoch, indem Sie in der Arduino-IDE auf die Schaltfläche Hochladen klicken
  • Machen Sie den Sensor kälter oder wärmer. Zum Beispiel, indem Sie den Sensor in die Nähe einer heißen Tasse Kaffee bringen
  • Überprüfen Sie den Status des Lüfters

Fortgeschrittene Kenntnisse

  • Der im obigen Tutorial zur Temperaturregelung verwendete Algorithmus heißt On-Off-Regler (auch bekannt als der „Bang-Bang“-Regler oder der Signaller). Dieser Algorithmus ist einfach zu implementieren und funktioniert gut in der Temperaturregelung.
  • Eine Alternative zum oben genannten Algorithmus ist der PID-Regler. Der PID-Regler sorgt dafür, dass die gewünschte Temperatur stabiler bleibt. Allerdings ist er sehr schwer zu verstehen und zu implementieren. Daher wird der PID-Regler in der Temperaturregelung nicht weit verbreitet eingesetzt.

Video Tutorial

Wir erwägen die Erstellung von Video-Tutorials. Wenn Sie Video-Tutorials für wichtig halten, abonnieren Sie bitte unseren YouTube-Kanal , um uns zu motivieren, die Videos zu erstellen.

※ UNSERE NACHRICHTEN

  • Sie können gerne den Link zu diesem Tutorial teilen. Bitte verwenden Sie jedoch unsere Inhalte nicht auf anderen Websites. Wir haben viel Mühe und Zeit in die Erstellung der Inhalte investiert, bitte respektieren Sie unsere Arbeit!