DS18B20 temperatuursensor aansluiten op ESP32 en Home Assistant

De DS18B20 (Dallas sensor) is een populaire digitale temperatuursensor die veel gebruikt wordt in ESP32- en Home Assistant-projecten. Deze sensor staat bekend om zijn betrouwbare metingen, eenvoudige 1-Wire communicatie en de mogelijkheid om meerdere sensoren op één enkele datalijn aan te sluiten. Daardoor is hij erg geschikt voor toepassingen waarbij je op meerdere plekken temperatuur wilt meten, zoals in een weerstation, boiler, aquarium, vijver of technische ruimte. Een groot voordeel van de DS18B20 is dat hij nauwkeuriger en stabieler werkt dan veel eenvoudige analoge of budgetsensoren.
In dit artikel lees je wat de DS18B20 precies is, wat de belangrijkste specificaties zijn, hoe je hem correct aansluit op een ESP32 en welke Arduino-basiscode je kunt gebruiken om direct je eerste temperatuurmetingen uit te lezen.


Wil je alleen temperatuur meten en zoek je een stabiele, betrouwbare sensor die ook op grotere kabellengtes goed werkt, dan is de DS18B20 vaak een betere keuze dan een DHT22.

Specificaties van de DS18B20

🧪 Algemene informatie

🏷️ Naam: DS18B20 (waterdichte versie)

🌡️ Type: Digitale temperatuursensor

🏭 Fabrikant: Maxim / Dallas

🌡️ Meetbereik & nauwkeurigheid

Bereik: –55 °C tot +125 °C

Nauwkeurigheid: ±0.5 °C

Resolutie: 9–12 bits

⏱️ Snelheid

Meetinterval: 750 ms

Advies: ~1 Hz

Respons: Enkele seconden in water

🔋 Voeding

Voeding: 3.0–5.5 V

Verbruik: enkele mA

🔗 Communicatie

Protocol: 1-Wire

Bijzonder: 64-bit adres

Draden: 3

🧱 Fysiek

Behuizing: RVS, epoxy

Formaat: ~6×50 mm

Kabel: 1–3 meter

Waterdicht: ja!

🧰 Typische toepassingen

🐠 Aquarium • 🌿 Vijver • ♨️ Boiler • 🏡 Binnen/buiten temperatuur


Aansluitschema (ESP32)

Je hebt de DS18B20, een 4.7 kΩ weerstand en een paar Dupont-kabels nodig. Sluit de sensor als volgt aan:

DS18B20 verbonden met ESP32

Arduino basiscode

Installeer eerst de bibliotheken OneWire en DallasTemperature via de Library Manager.

    <
        #include <OneWire.h>
        #include <DallasTemperature.h>

        #define ONE_WIRE_BUS 4  // GPIO 4 op ESP32

        OneWire oneWire(ONE_WIRE_BUS);
        DallasTemperature sensors(&oneWire);

        void setup() {
          Serial.begin(115200);
          sensors.begin();
        }

        void loop() {
          sensors.requestTemperatures(); 
          float tempC = sensors.getTempCByIndex(0);
          Serial.print("Temperatuur: ");
          Serial.print(tempC);
          Serial.println(" °C");
          delay(1000);
        }
    

Tips


Vergelijking met andere sensoren

De DS18B20 is een zeer nauwkeurige temperatuursensor, maar er zijn ook sensoren die naast temperatuur bijvoorbeeld luchtvochtigheid of luchtkwaliteit meten.


Wil je meerdere DS18B20 sensoren op één ESP32 aansluiten? Lees dan ook:Meerdere DS18B20 sensoren aansluiten op een ESP32.

In onze uitgebreide vergelijking van sensoren voor Home Assistant bekijken we de verschillen tussen de DS18B20, DHT22, HTU21D en BME680. We vergelijken onder andere nauwkeurigheid, stabiliteit en de verschillende metingen zoals temperatuur, luchtvochtigheid, luchtdruk en luchtkwaliteit.

Zo kun je eenvoudig bepalen welke sensor het beste past bij jouw project.


☕ Steun deze website met een kop koffie

Op matteman.nl deel ik al mijn projecten, schema’s, uitleg en code gratis — zonder advertenties of sponsordeals. Alles wat je hier vindt, is met zorg gemaakt om hobbyisten, makers en automatiseringsliefhebbers op weg te helpen.
Heb je iets gehad aan de informatie op deze site? Dan kun je mij helpen door een eenmalige bijdrage te doen via Buy Me a Coffee. Daarmee steun je niet alleen mijn werk, maar ook de kosten voor hosting, onderdelen en het onderhouden van de 3D-printer (die het altijd begeeft op het verkeerde moment 😉).
Elke bijdrage — groot of klein — wordt enorm gewaardeerd. Dankjewel! 🙌
☕ Geef een kop koffie