🌊 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.