Um die Funktion zu starten, wird der ESP32 Mikrocontroller über die USB-Schnittstelle mit Spannung versorgt. Über den Mikrocontroller wird danach auch der Temperatursensor (DS18B20) mit Spannung versorgt und beginnt damit, die Umgebungstemperatur in Echtzeit zu messen. Die Daten des Temperatursensors werden daraufhin an den Mikrocontroller über einen OneWire-Bus (Einzelne Leitung zur Datenverbindung) übermittelt. Gleichzeitig übersetzt der Mikrocontroller mit Hilfe einer im Programm installierten Bibliothek die Daten in einen Temperaturwert. Dieser Temperaturwert wird daraufhin über die digitale 7-Segmentnzeige ausgegeben. 

Im nächsten Schritt wertet der Mikrocontroller aus, ob sich die Temperatur in einem vordefinierten Bereich befindet.  

Unterschreitet die Temperatur den Grenzwert von 22°C, wird das Signal gegeben zu heizen. Hierzu wird eine Rote LED eingeschaltet, welche dazu verwendet wird, die Heizung zu simulieren. Zusätzlich wird über den Seriellen Monitor eine Nachricht ausgegeben, dass die Temperatur zu niedrig ist und somit die Heizung aktiviert wird. Wenn während des Heizprozesses die Temperatur weiter sinkt, wird über den Seriellen Monitor zusätzlich eine Warnung ausgegeben. Die Warnung beinhaltet eine Meldung, dass die Temperatur zu kalt wird, sobald 17°C unterschritten werden. 

 

 

Wenn die Temperatur den Grenzwert von 27°C überschreitet, wird das Signal gegeben zu kühlen. Um dies zu simulieren, wird eine Blaue LED eingeschaltet. Zusätzlich wird der Lüfter aktiviert um so einen Luftstrom zu erzeugen um die Kühlung zu unterstützen. Die Ansteuerung des DC-Motors für den Lüfter erfolgt über ein MosModul, welches über eine Transistorschaltung zur Spannungsverstärkung am Signal-Pin angesteuert. Die Spannungsverstärkung wird benötigt, damit das auf dem MosModul verbaute Mosfet (Typ: IRF520) den benötigten Strom für den DC-Motor schalten kann. Der DC-Motor wird extern über den 9V-Block mit Spannung versorgt. Dies ist notwendig, da über den Mikrocontroller keine Spannung in dieser höhe zur verfügung gestellt werden kann. Des Weiteren wird über den Seriellen Monitor eine Nachricht ausgegeben, dass die Temperatur zu hoch ist und somit die Kühlung aktiviert wird. Sollte die Temperatur während des Kühlungsprozesses weiter steigt und die Grenze von 32°C überschreiten, wird über den  Seriellen Monitor zusätzlich eine Warnung ausgegeben. Die Warnung beinhaltet die Informatio, dass die Temperatur zu Warm wird. 

Unter der Vorausgesetzung, dass die Temperatur zwischen 22°C und 27°C liegt, ist weder die Heizung noch die Kühlung aktiv.