Datasheet & Pinout: Vandtæt DS18B20 Temperatursensor (2 m kabel)

🌊 Vandtæt DS18B20 Temperatursensor (2 m)

Det er den klassiske DS18B20 digitale termometer-chip, støbt ind i en rustfri stålprobe på et 2 meter langt kabel. Stik den i akvariet, sous-vide-gryden, kompostbunken eller ud gennem muren – mens din Arduino bliver i tørvejr.

Sensoren snakker 1-Wire, så du kan have mange af dem på én enkelt datapin. Hver chip har sit eget unikke 64-bit serienummer.

🛒 Køb vandtæt DS18B20 📄 Officielt datasheet (Analog Devices, PDF) 🌡️ DS18B20 uden kabel (TO-92)

⚡ Hurtige specifikationer

Parameter Værdi
Chip DS18B20 (Maxim / Analog Devices)
Forsyning 3,0–5,5 V DC
Måleområde (chip) -55 til +125 °C
Nøjagtighed ±0,5 °C fra -10 til +85 °C
Opløsning 9–12 bit (0,5–0,0625 °C), op til 750 ms pr. måling ved 12 bit
Interface 1-Wire (én datapin, mange sensorer)
Pull-up 4,7 kΩ mellem DATA og VCC – påkrævet
Kabel ca. 2 m, rå fortinnede ledningsender
Kabel-temperatur Kablet sætter grænsen – hold dig typisk under ca. 100 °C, selv om chippen kan 125 °C

📌 Pinout

Pin Navn Funktion Forbindes til
Rød VCC Forsyning 3,0–5,5 V 5V (UNO/Nano) eller 3V3 (ESP32)
Sort (evt. blå) GND Stel GND
Gul (evt. hvid) DATA (DQ) 1-Wire data D2 (UNO/Nano) / GPIO4 (ESP32) + 4,7 kΩ til VCC

Farverne ovenfor er de mest almindelige, men der findes kabler med andre farver. Er du i tvivl, så send os et billede af kablet. Og husk: en forkert vendt DS18B20 bliver hurtigt meget varm – mærker du varme i proben, så sluk med det samme.

🔌 Sådan forbinder du den

DS18B20 Arduino UNO / Nano ESP32 (DevKit)
Rød (VCC) 5V 3V3
Sort (GND) GND GND
Gul (DATA) D2 GPIO4
4,7 kΩ modstand Mellem D2 og 5V Mellem GPIO4 og 3V3

Brug en skrueterminal eller lod ledningerne – de tynde fortinnede ender sidder sjældent godt i et breadboard. Usikker på farvekoden på modstanden? Se modstandsguiden.

💻 Eksempelkode

Bibliotek: "OneWire" (Paul Stoffregen) + "DallasTemperature" (Miles Burton)

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

const int DATA_PIN = 2;    // ESP32: 4

OneWire oneWire(DATA_PIN);
DallasTemperature sensorer(&oneWire);

void setup() {
  Serial.begin(9600);
  sensorer.begin();
  Serial.print("Fundne sensorer: ");
  Serial.println(sensorer.getDeviceCount());
}

void loop() {
  sensorer.requestTemperatures();
  float temp = sensorer.getTempCByIndex(0);

  if (temp == DEVICE_DISCONNECTED_C) {
    Serial.println("Sensor ikke fundet - tjek pull-up!");
  } else {
    Serial.print("Temperatur: ");
    Serial.print(temp);
    Serial.println(" °C");
  }
  delay(1000);
}

💡 KompoNemt-tip fra værkstedet

  • Glem aldrig pull-up'en: Uden 4,7 kΩ mellem DATA og VCC er der ingen 1-Wire. Det er fejl nummer ét.
  • Mange sensorer, én pin: Sæt alle sensorernes ledninger parallelt (rød til rød osv.) – én pull-up er nok. Brug getTempCByIndex(1), (2) osv. eller adresserne.
  • Lange kabler: Ved meget lange samlede kabellængder kan en lidt mindre pull-up (fx 2,2–3,3 kΩ) gøre signalet stabilt.
  • Stål leder varme langsomt: Proben har lidt forsinkelse. Giv den et øjeblik til at følge med ved hurtige temperaturskift.
  • Vandtæt – men: Proben er vandtæt, men den afisolerede kabelende er det ikke. Hold samlingen tør.

🔧 Fejlfinding

  • Viser -127 °C: Sensoren svarer ikke (DEVICE_DISCONNECTED_C). Tjek pull-up, DATA-pin og ledningsfarver.
  • Viser 85 °C: Det er chippens opstartsværdi – sensoren fik ikke strøm nok eller tid nok til at måle. Tjek VCC og at du ikke bruger parasit-strøm ved en fejl.
  • "Fundne sensorer: 0": Forkert pin i koden, eller DATA og GND er byttet om.
  • Sensoren bliver varm: VCC og GND er byttet om – sluk med det samme.

Sidder du fast? Skriv til os – vi hjælper gerne.