ESP32 - Heizsystem
In diesem Leitfaden lernen wir, wie man ein Heizsystem baut, das die Raumtemperatur mithilfe eines ESP32, eines DS18B20-Temperatursensors und eines Heizelements steuert. Es ist ganz einfach: Wenn der Raum zu kalt ist, schalten wir das Heizelement ein, und wenn er sich erwärmt, schalten wir es aus. Sie können den Code so anpassen, dass er auch mit anderen Temperatursensoren wie dem DHT11, DHT22 oder LM35 funktioniert, sodass Sie die Flexibilität haben, den Sensor zu wählen, der Ihren Vorlieben entspricht.
Erforderliche Hardware
Oder Sie können die folgenden Kits kaufen:
1 | × | DIYables ESP32 Starter-Kit (ESP32 enthalten) | |
1 | × | DIYables Sensor-Kit (30 Sensoren/Displays) | |
1 | × | DIYables Sensor-Kit (18 Sensoren/Displays) |
Kaufhinweis: Viele DS18B20-Sensoren auf dem Markt sind von geringer Qualität. Wir empfehlen dringend den Kauf des Sensors von der Marke DIYables über den obigen Link. Wir haben ihn getestet und er funktionierte gut.
Über Heizelement und DS18B20-Temperatursensor
Das Heizelement, das wir in diesem Tutorial verwenden, arbeitet mit einer 12-Volt-Stromversorgung. Wenn dem Heizelement Strom zugeführt wird, erzeugt es Wärme. Um dem ESP32 die Steuerung des Heizelements zu ermöglichen, müssen wir ein Relais verwenden. Dieses Relais dient als Schalter, der es dem ESP32 ermöglicht, das Heizelement nach Bedarf ein- oder auszuschalten.
Wenn Sie nichts über Temperatursensoren und Heizelemente wissen (Pinbelegung, wie sie funktionieren, wie man sie programmiert ...), informieren Sie sich in den folgenden Tutorials darüber:
Verdrahtungsdiagramm
- Schaltplan mit Breadboard

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 Adapter (empfohlen)

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
Wie das System funktioniert
- Der ESP32 liest die Temperatur vom Temperatursensor
- Wenn die Temperatur unter einen unteren Schwellenwert fällt, schaltet der ESP32 die Heizelemente ein
- Wenn die Temperatur einen oberen Schwellenwert überschreitet, schaltet der ESP32 das Heizelement aus
Der oben beschriebene Prozess wird unendlich oft in der Schleife wiederholt.
ESP32-Code für Kühlsystem mit DS18B20-Sensor
Im obigen Code schaltet der ESP32 das Heizelement ein, wenn die Temperatur unter 15 °C fällt, und hält das Heizelement eingeschaltet, bis die Temperatur über 20 °C steigt.
Schnelle Schritte
- Wenn dies das erste Mal ist, dass Sie ESP32 verwenden, sehen Sie wie man die Umgebung für ESP32 in der Arduino IDE einrichtet.
- Verbinden Sie die Verkabelung wie im obigen Bild.
- Schließen Sie das ESP32-Board mit einem 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 Libraries-Symbol in der linken Leiste der Arduino IDE.
- Suchen Sie “DallasTemperature” im Suchfeld, und suchen Sie dann nach der DallasTemperature-Bibliothek von Miles Burton.
- Klicken Sie auf die Install-Schaltfläche, um die DallasTemperature-Bibliothek zu installieren.

- Sie werden aufgefordert, die Abhängigkeit zu installieren. Klicken Sie auf die Schaltfläche Install All, um die OneWire-Bibliothek zu installieren.

- Kopiere den obigen Code und öffne ihn mit der Arduino-IDE
- Klicke auf die Hochladen-Schaltfläche in der Arduino-IDE, um den Code auf den ESP32 hochzuladen
- Mach die Umgebung des Sensors wärmer oder kühler
- Prüfe die Temperatur des Heizelements und deines Zimmers
Fortgeschrittene Kenntnisse
Die oben beschriebene Regelungsmethode ist der Ein-Aus-Regler, auch bekannt als Signalgeber oder 'Bang-Bang'-Regler. Diese Methode ist sehr einfach zu implementieren.
Es gibt eine alternative Methode namens PID-Regler. Mit dem PID-Regler ist die gewünschte Temperatur stabiler, aber sehr schwer zu verstehen und zu implementieren. Daher ist der PID-Regler in der Temperaturregelung nicht beliebt.