ESP32 - Verwarmingssysteem
In deze gids leert u hoe u een verwarmingssysteem maakt dat de kamertemperatuur regelt met behulp van een ESP32, een DS18B20 temperatuursensor en een verwarmingselement. Het werkt heel eenvoudig: als het in de kamer te koud wordt, schakelen we het verwarmingselement in en zodra het warmer is, schakelen we het weer uit. U kunt de code aanpassen om samen te werken met andere temperatuursensoren zoals de DHT11, DHT22 of LM35, zodat u flexibel bent in het kiezen van de sensor die bij uw wensen past.
Hardware Benodigd
Of u kunt de volgende kits kopen:
| 1 | × | DIYables Sensorkit (30 sensoren/displays) | |
| 1 | × | DIYables Sensorkit (18 sensoren/displays) |
Aankoopadvies: Veel DS18B20-sensoren op de markt zijn van lage kwaliteit. We raden u ten zeerste aan de sensor van het merk DIYables te kopen via de bovenstaande link. We hebben het getest en het werkte goed.
Over Verwarmingselement en DS18B20 Temperatuursensor
Het verwarmingselement dat we in deze handleiding gebruiken werkt op een 12-volt voedingsspanning. Wanneer er stroom wordt geleverd aan het verwarmingselement, genereert het warmte. Om het verwarmingselement met de ESP32 te kunnen aansturen, gebruiken we een relais. Dit relais fungeert als een schakelaar waarmee de ESP32 het verwarmingselement aan of uit kan zetten indien nodig.
Als u meer wilt weten over de temperatuursensor en het verwarmingselement (zoals pinout, werking, en programmeren), bekijk dan de volgende tutorials:
Bedradingsschema
- Bedradingsschema met breadboard (experimenteerprint)

This image is created using Fritzing. Click to enlarge image
- Bedradingsschema met adapter (aanbevolen)

This image is created using Fritzing. Click to enlarge image
Hoe het systeem werkt
- De ESP32 leest de temperatuur uit de temperatuursensor
- Als de temperatuur onder een lagere drempelwaarde zakt, schakelt de ESP32 het verwarmingselement in
- Als de temperatuur boven een hogere drempelwaarde stijgt, schakelt de ESP32 het verwarmingselement uit
Bovenstaand proces wordt continu herhaald in een lus.
ESP32 Code voor het verwarmingssysteem met DS18B20 sensor
In de bovenstaande code schakelt de ESP32 het verwarmingselement in wanneer de temperatuur onder de 15°C daalt en laat het element aan tot de temperatuur boven de 20°C komt.
Snelle Stappen
- Als dit de eerste keer is dat u een ESP32 gebruikt, bekijk dan hoe u de omgeving instelt voor ESP32 in de Arduino IDE.
- Doe de bedrading zoals te zien in bovenstaande afbeelding.
- Verbind de ESP32 met uw pc via een micro-USB kabel
- Open de Arduino IDE op uw pc.
- Selecteer het juiste ESP32 board (bijv. ESP32 Dev Module) en de juiste COM-poort.
- Klik op het Libraries-icoon in de linker balk van de Arduino IDE.
- Zoek in het zoekvak naar “DallasTemperature” en selecteer de DallasTemperature library van Miles Burton.
- Klik op Install om de DallasTemperature library te installeren.

- U wordt gevraagd om de afhankelijkheid te installeren. Klik op de Install All knop om ook de OneWire library te installeren.

- Kopieer de bovenstaande code en open deze in de Arduino IDE
- Klik op de Upload knop in de Arduino IDE om de code naar de ESP32 te uploaden
- Maak de omgeving rond de sensor warmer of kouder
- Controleer de temperatuur van het verwarmingselement en de kamer
Geavanceerde Kennis
De hierboven gebruikte aansturing is een aan-uitregelaar, ook wel bekend als een signaalregelaar of "bang-bang" controller. Deze methode is erg eenvoudig te implementeren.
Er is een alternatieve methode genaamd de PID-regelaar. Met de PID-regelaar is de gewenste temperatuur stabieler, maar deze is veel ingewikkelder te begrijpen en te implementeren. Daarom is de PID-regelaar minder populair voor temperatuurregeling.