DS18B20 – praktyczny przewodnik po cyfrowym czujniku temperatury do Arduino, ESP32, Raspberry Pi i projektów IoT

DS18B20 – praktyczny przewodnik po cyfrowym czujniku temperatury do Arduino, ESP32, Raspberry Pi i projektów IoT

DS18B20 to jeden z najpopularniejszych cyfrowych czujników temperatury wykorzystywanych w elektronice, automatyce, robotyce, systemach smart home, projektach Arduino, ESP32, Raspberry Pi oraz urządzeniach IoT. Jego popularność wynika z prostego podłączenia, dobrej dokładności, obsługi magistrali 1-Wire, możliwości pracy kilku czujników na jednej linii danych oraz dostępności w różnych wersjach, w tym w praktycznej wersji wodoodpornej ze stalową sondą.

Czujnik DS18B20 pozwala mierzyć temperaturę w szerokim zakresie, komunikuje się cyfrowo i nie wymaga skomplikowanego układu analogowego. Według dokumentacji producenta zapewnia pomiary temperatury w rozdzielczości od 9 do 12 bitów, komunikuje się przez magistralę 1-Wire wymagającą jednej linii danych i masy, może pracować w zakresie zasilania 3,0–5,5 V, a typowy zakres pomiarowy wynosi od -55°C do +125°C. Dokładność w zakresie od -10°C do +85°C wynosi ±0,5°C.

Czym jest DS18B20?

DS18B20 to cyfrowy termometr scalony, czyli niewielki układ elektroniczny służący do pomiaru temperatury. W przeciwieństwie do wielu prostych czujników analogowych, takich jak termistory NTC czy czujniki napięciowe, DS18B20 od razu przekazuje wynik w formie cyfrowej.

Oznacza to, że mikrokontroler nie musi samodzielnie przeliczać napięcia analogowego na temperaturę ani korzystać z przetwornika ADC. Czujnik wykonuje pomiar wewnętrznie, a następnie udostępnia wynik przez interfejs 1-Wire.

W praktyce DS18B20 może być używany między innymi do:

  • pomiaru temperatury powietrza,
  • kontroli temperatury cieczy,
  • monitorowania temperatury gleby,
  • pomiaru temperatury w akwarium,
  • sterowania ogrzewaniem,
  • automatyki domowej,
  • rejestracji danych środowiskowych,
  • projektów IoT,
  • zabezpieczenia urządzeń przed przegrzaniem,
  • pomiaru temperatury w lodówkach, inkubatorach, terrariach i szklarniach.

Największą zaletą DS18B20 jest połączenie prostoty i praktyczności. Jeden pin mikrokontrolera może obsłużyć wiele takich czujników, ponieważ każdy egzemplarz ma unikalny 64-bitowy kod identyfikacyjny zapisany w pamięci ROM.

Dlaczego DS18B20 jest tak popularny?

Popularność DS18B20 nie jest przypadkowa. Ten czujnik od lat pojawia się w projektach hobbystycznych, edukacyjnych i półprofesjonalnych, ponieważ rozwiązuje wiele problemów typowych dla pomiaru temperatury.

Cyfrowy pomiar temperatury

DS18B20 przekazuje dane w postaci cyfrowej. To bardzo duża zaleta, ponieważ wynik jest mniej podatny na problemy związane z zakłóceniami analogowymi, spadkami napięcia na przewodach czy niedokładnością przetwornika ADC w mikrokontrolerze.

W projektach z Arduino, ESP32 czy Raspberry Pi odczyt temperatury jest dzięki temu prostszy i bardziej powtarzalny.

Magistrala 1-Wire

DS18B20 wykorzystuje magistralę 1-Wire, która wymaga jednej linii danych oraz masy. Przy klasycznym zasilaniu używa się trzech przewodów: VDD, GND i DQ. Możliwy jest również tryb zasilania pasożytniczego, w którym czujnik może pobierać energię z linii danych, choć w praktyce w wielu projektach stabilniejsze jest klasyczne zasilanie trzema przewodami.

Możliwość podłączenia wielu czujników

Jedną z największych zalet DS18B20 jest możliwość podłączenia wielu czujników do jednej linii danych. Każdy czujnik ma unikalny adres, dlatego mikrokontroler może rozpoznawać poszczególne egzemplarze.

To szczególnie przydatne w projektach takich jak:

  • system monitoringu temperatury w wielu pomieszczeniach,
  • pomiar temperatury zasilania i powrotu w instalacji grzewczej,
  • kontrola temperatury kilku akwariów,
  • monitoring szklarni,
  • pomiar temperatury w różnych punktach obudowy urządzenia,
  • rejestracja temperatury w magazynie lub chłodni.

Szeroki zakres zastosowań

DS18B20 występuje jako sam układ w obudowie TO-92, ale bardzo często sprzedawany jest także jako sonda w metalowej tulei na przewodzie. Wersja sondowa jest wygodna, gdy trzeba mierzyć temperaturę w trudniejszych warunkach, na przykład w wodzie, glebie, rurze, obudowie technicznej lub na zewnątrz.

Dobra dostępność bibliotek

DS18B20 jest obsługiwany przez wiele bibliotek, szczególnie w środowisku Arduino. Najczęściej wykorzystuje się bibliotekę OneWire oraz DallasTemperature. Dzięki temu nawet początkujący mogą szybko uruchomić pierwszy pomiar temperatury.

Najważniejsze parametry DS18B20

Aby poprawnie wykorzystać DS18B20 w projekcie, warto znać jego najważniejsze parametry techniczne. Nie trzeba od razu studiować całej dokumentacji, ale kilka wartości ma praktyczne znaczenie.

Zakres pomiaru temperatury

DS18B20 mierzy temperaturę w zakresie od -55°C do +125°C. To wystarcza do większości projektów domowych, edukacyjnych, IoT, ogrodniczych i automatyki.

Warto jednak pamiętać, że sam zakres pomiarowy czujnika nie oznacza automatycznie, że każdy gotowy moduł lub sonda może długo pracować w skrajnych warunkach. Wersje wodoodporne mają przewód, izolację i uszczelnienie, które mogą mieć własne ograniczenia temperaturowe.

Dokładność pomiaru

Typowa dokładność DS18B20 wynosi ±0,5°C w zakresie od -10°C do +85°C. Poza tym zakresem błąd może być większy.

Dla wielu zastosowań jest to bardzo dobry wynik, szczególnie przy projektach takich jak termometr domowy, sterownik wentylatora, pomiar temperatury wody, automatyka szklarni czy monitoring środowiska.

Rozdzielczość pomiaru

DS18B20 umożliwia ustawienie rozdzielczości pomiaru od 9 do 12 bitów. Im wyższa rozdzielczość, tym dokładniejszy krok odczytu, ale tym dłuższy czas konwersji. Dokumentacja podaje czasy konwersji od 93,75 ms dla 9 bitów do 750 ms dla 12 bitów.

W praktyce:

  • 9 bitów daje szybki pomiar, ale większy krok,
  • 10 bitów jest kompromisem,
  • 11 bitów daje lepszą szczegółowość,
  • 12 bitów jest najczęściej używane, gdy szybkość nie jest krytyczna.

Zakres zasilania

DS18B20 może pracować z zasilaniem od 3,0 V do 5,5 V. Dzięki temu nadaje się zarówno do Arduino Uno pracującego z logiką 5 V, jak i do ESP32 czy Raspberry Pi pracujących z logiką 3,3 V.

To bardzo ważne, ponieważ wiele czujników wymaga dopasowania poziomów logicznych. DS18B20 jest pod tym względem wygodny, o ile cały układ zostanie poprawnie podłączony.

Unikalny adres 64-bitowy

Każdy DS18B20 ma unikalny 64-bitowy kod. Dzięki temu wiele czujników może działać na jednej magistrali 1-Wire. Mikrokontroler może odpytywać konkretny czujnik po adresie i rozróżniać pomiary z różnych miejsc.

Jak działa DS18B20?

DS18B20 działa jako cyfrowy czujnik temperatury z interfejsem 1-Wire. Wewnątrz układu znajduje się element pomiarowy, przetwornik i pamięć, w której przechowywany jest wynik oraz ustawienia.

Pomiar temperatury

Po otrzymaniu odpowiedniej komendy czujnik rozpoczyna konwersję temperatury. Następnie zapisuje wynik w wewnętrznej pamięci tymczasowej, zwanej scratchpad. Mikrokontroler może później odczytać dane i przeliczyć je na temperaturę w stopniach Celsjusza.

Komunikacja z mikrokontrolerem

Komunikacja odbywa się po jednej linii danych. Mikrokontroler wysyła sekwencje czasowe zgodne z protokołem 1-Wire, a czujnik odpowiada odpowiednimi impulsami. Dla początkującego użytkownika nie ma zwykle potrzeby ręcznego implementowania tego protokołu, ponieważ obsługują go gotowe biblioteki.

Adresowanie wielu czujników

Jeżeli na jednej magistrali znajduje się kilka czujników, mikrokontroler może je wykryć, odczytać ich adresy i przypisać każdemu adresowi konkretne miejsce pomiaru. To bardzo praktyczne, ale wymaga zachowania porządku w kodzie i dokumentacji projektu.

DS18B20 pinout – opis wyprowadzeń

DS18B20 w klasycznej obudowie TO-92 ma trzy wyprowadzenia. Patrząc na płaską stronę obudowy, przy nóżkach skierowanych w dół, typowy układ pinów to:

  1. GND – masa,
  2. DQ – linia danych 1-Wire,
  3. VDD – zasilanie.

W przypadku gotowych sond wodoodpornych kolory przewodów najczęściej są następujące:

  • czerwony – VDD,
  • czarny – GND,
  • żółty lub biały – DQ.

Nie należy jednak ślepo ufać kolorom przewodów, szczególnie w tanich sondach. Zdarzają się różnice między producentami. Najlepiej sprawdzić opis sprzedawcy albo zmierzyć połączenia, jeśli masz wątpliwości.

DS18B20 i rezystor podciągający

Do poprawnej pracy DS18B20 potrzebny jest rezystor podciągający linię danych DQ do zasilania. Najczęściej stosuje się rezystor 4,7 kΩ między DQ a VDD.

Po co jest rezystor 4,7 kΩ?

Magistrala 1-Wire działa w taki sposób, że urządzenia mogą ściągać linię danych do masy, ale stan wysoki uzyskuje się przez podciągnięcie linii do zasilania. Rezystor pull-up zapewnia poprawny stan logiczny, gdy żadne urządzenie nie wymusza zera.

Bez rezystora podciągającego czujnik może:

  • nie być wykrywany,
  • zwracać błędne wartości,
  • działać niestabilnie,
  • przestawać odpowiadać przy dłuższych przewodach,
  • pokazywać charakterystyczne błędne odczyty.

Czy zawsze musi być 4,7 kΩ?

4,7 kΩ to najczęściej używana wartość, dobra dla wielu typowych projektów. Przy długich przewodach, wielu czujnikach albo trudnych warunkach czasem trzeba dobrać inną wartość, na przykład niższą, ale należy robić to świadomie i testować stabilność magistrali.

DS18B20 w trybie klasycznego zasilania

Najbardziej zalecane i najprostsze połączenie DS18B20 to zasilanie trzema przewodami:

  • VDD do 3,3 V lub 5 V,
  • GND do masy,
  • DQ do pinu mikrokontrolera,
  • rezystor 4,7 kΩ między DQ a VDD.

Zalety klasycznego zasilania

Klasyczne zasilanie jest zwykle stabilniejsze niż tryb pasożytniczy. Szczególnie warto je wybrać, gdy:

  • przewody są długie,
  • na jednej magistrali jest wiele czujników,
  • pomiary mają być niezawodne,
  • używasz ESP32 lub Raspberry Pi,
  • czujnik działa w środowisku z zakłóceniami,
  • projekt ma pracować bez nadzoru.

Przykładowe połączenie z Arduino

Dla Arduino Uno typowe połączenie wygląda tak:

  • DS18B20 VDD → 5 V,
  • DS18B20 GND → GND,
  • DS18B20 DQ → pin cyfrowy, na przykład D2,
  • rezystor 4,7 kΩ między DQ a 5 V.

Przykładowe połączenie z ESP32

Dla ESP32 typowe połączenie:

  • DS18B20 VDD → 3,3 V,
  • DS18B20 GND → GND,
  • DS18B20 DQ → wybrany GPIO, na przykład GPIO4,
  • rezystor 4,7 kΩ między DQ a 3,3 V.

W przypadku ESP32 lepiej podciągać linię danych do 3,3 V, a nie do 5 V, ponieważ ESP32 pracuje z logiką 3,3 V.

DS18B20 w trybie parasite power

DS18B20 może działać w trybie zasilania pasożytniczego, czyli pobierać energię z linii danych. To jedna z ciekawych funkcji czujnika, opisana w dokumentacji producenta.

Jak działa parasite power?

W trybie parasite power czujnik nie korzysta z osobnego przewodu VDD. Zasilanie jest pobierane z linii DQ, gdy ta znajduje się w stanie wysokim. W takim układzie czujnik nadal wymaga masy i linii danych.

Kiedy tryb pasożytniczy ma sens?

Tryb parasite power może być przydatny, gdy chcesz ograniczyć liczbę przewodów. Może to mieć znaczenie w niektórych instalacjach, gdzie dostępne są tylko dwie żyły.

Wady trybu pasożytniczego

W praktyce tryb pasożytniczy może być bardziej problematyczny. Przy dłuższych przewodach, wielu czujnikach lub wysokiej rozdzielczości pomiarów może pojawić się niestabilność.

Dlatego w większości projektów hobbystycznych i IoT warto wybrać klasyczne zasilanie trzema przewodami. Jest prostsze, bardziej przewidywalne i łatwiejsze do diagnozowania.

DS18B20 z Arduino

Arduino to jedna z najczęstszych platform używanych z DS18B20. Dzięki gotowym bibliotekom odczyt temperatury jest prosty i czytelny.

Potrzebne elementy

Do podstawowego projektu potrzebujesz:

  • Arduino Uno, Nano lub Mega,
  • czujnika DS18B20,
  • rezystora 4,7 kΩ,
  • przewodów,
  • płytki stykowej,
  • komputera z Arduino IDE.

Biblioteki do DS18B20

Najczęściej używane biblioteki to:

  • OneWire,
  • DallasTemperature.

Biblioteka OneWire obsługuje protokół komunikacyjny, a DallasTemperature ułatwia odczyt temperatury i pracę z wieloma czujnikami.

Przykładowy kod Arduino

#include 
#include

const int ONE_WIRE_BUS = 2;

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

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

void loop() {
sensors.requestTemperatures();

float temperatura = sensors.getTempCByIndex(0);

Serial.print(\"Temperatura: \");
Serial.print(temperatura);
Serial.println(\" °C\");

delay(1000);
}

Ten program odczytuje temperaturę z pierwszego czujnika na magistrali i wyświetla wynik w monitorze portu szeregowego.

Co oznacza getTempCByIndex(0)?

Funkcja getTempCByIndex(0) pobiera temperaturę z pierwszego wykrytego czujnika. Jeżeli masz tylko jeden DS18B20, jest to wygodne. Jeśli masz wiele czujników, lepiej odczytywać je po adresach, aby nie pomylić lokalizacji.

DS18B20 z ESP32

ESP32 bardzo dobrze współpracuje z DS18B20. To popularne połączenie w projektach IoT, ponieważ ESP32 ma Wi-Fi i Bluetooth, a DS18B20 pozwala łatwo mierzyć temperaturę.

Podłączenie DS18B20 do ESP32

Typowe połączenie:

  • VDD czujnika do 3,3 V,
  • GND do GND,
  • DQ do wybranego GPIO,
  • rezystor 4,7 kΩ między DQ a 3,3 V.

Można użyć na przykład GPIO4, GPIO16, GPIO17, GPIO21, GPIO22, GPIO23, GPIO25, GPIO26, GPIO27, GPIO32 lub GPIO33.

Przykładowy kod dla ESP32 w Arduino IDE

#include 
#include

const int ONE_WIRE_BUS = 4;

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

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

void loop() {
sensors.requestTemperatures();

float temperatura = sensors.getTempCByIndex(0);

Serial.print(\"Temperatura DS18B20: \");
Serial.print(temperatura);
Serial.println(\" °C\");

delay(1000);
}

DS18B20 w projektach Wi-Fi

ESP32 z DS18B20 często służy do wysyłania temperatury do serwera, aplikacji, Home Assistanta, MQTT albo platform IoT. W takim projekcie warto zadbać o stabilne zasilanie, ponieważ Wi-Fi może powodować chwilowy wzrost poboru prądu.

DS18B20 z Raspberry Pi

DS18B20 jest popularny również w projektach z Raspberry Pi. Raspberry Pi obsługuje magistralę 1-Wire, dzięki czemu można odczytywać temperaturę bez dodatkowego mikrokontrolera.

Typowe zastosowania z Raspberry Pi

Raspberry Pi z DS18B20 sprawdza się w projektach takich jak:

  • domowy serwer temperatur,
  • system monitorowania ogrzewania,
  • rejestrator danych,
  • panel smart home,
  • monitoring akwarium,
  • automatyka szklarni,
  • system raportowania przez internet.

Zasilanie przy Raspberry Pi

Raspberry Pi pracuje z logiką 3,3 V, dlatego linię DQ należy podciągać do 3,3 V, a nie do 5 V. Jest to ważne dla bezpieczeństwa pinów GPIO.

DS18B20 w wersji wodoodpornej

Wersja wodoodporna DS18B20 to sonda zamknięta w metalowej tulei, najczęściej ze stalową końcówką i przewodem. Jest bardzo popularna, ponieważ pozwala mierzyć temperaturę cieczy, gleby, instalacji i miejsc, w których zwykły układ w obudowie TO-92 byłby niepraktyczny.

Do czego nadaje się wodoodporny DS18B20?

Taka sonda jest często używana do:

  • pomiaru temperatury w akwarium,
  • kontroli temperatury wody,
  • monitorowania bojlera,
  • pomiaru temperatury rur,
  • projektów ogrodniczych,
  • szklarni,
  • terrariów,
  • lodówek,
  • zamrażarek,
  • systemów chłodzenia,
  • fermentacji,
  • inkubatorów.

Czy wodoodporny DS18B20 jest naprawdę wodoodporny?

Wiele sond sprzedawanych jako wodoodporne działa dobrze w kontakcie z wodą, ale jakość wykonania może się różnić. Najsłabszym miejscem bywa połączenie przewodu z metalową tuleją. Jeśli projekt ma pracować długo w wodzie, warto dodatkowo zabezpieczyć połączenie, wybrać lepszą sondę albo przetestować ją przed montażem.

Uwaga na podróbki i jakość sond

DS18B20 jest bardzo popularny, dlatego na rynku występują czujniki różnej jakości. Tanie sondy mogą mieć większe rozbieżności pomiarowe, słabsze uszczelnienie albo nieoryginalny układ. W projektach wymagających większej pewności warto kupować czujniki od sprawdzonych dostawców.

DS18B20 w automatyce domowej

DS18B20 świetnie nadaje się do automatyki domowej. Jest tani, prosty i może pracować w wielu punktach pomiarowych.

Sterowanie ogrzewaniem

Czujnik można wykorzystać do pomiaru temperatury w pomieszczeniach, na rurach instalacji grzewczej, przy grzejnikach, w bojlerze lub na zasilaniu i powrocie układu CO.

Przykładowy system może:

  • mierzyć temperaturę w kilku pokojach,
  • porównywać temperaturę z wartością zadaną,
  • sterować przekaźnikiem,
  • włączać pompę,
  • wysyłać dane do Home Assistanta,
  • zapisywać historię pomiarów.

Monitoring temperatury lodówki

DS18B20 może monitorować temperaturę lodówki lub zamrażarki. Po połączeniu z ESP32 system może wysyłać powiadomienie, gdy temperatura wzrośnie powyżej ustalonego progu.

Pomiar temperatury wody użytkowej

Wodoodporna sonda DS18B20 może mierzyć temperaturę wody w zasobniku, rurze albo obiegu. Trzeba jednak zadbać o bezpieczny montaż i odpowiednią izolację.

DS18B20 w ogrodzie i szklarni

W projektach ogrodniczych DS18B20 jest bardzo praktyczny, szczególnie w wersji sondowej.

Pomiar temperatury gleby

Temperatura gleby ma znaczenie dla kiełkowania, wzrostu roślin i pracy systemów nawadniania. DS18B20 można umieścić w ziemi i odczytywać dane przez Arduino lub ESP32.

Monitoring szklarni

W szklarni można użyć kilku czujników:

  • przy ziemi,
  • na wysokości roślin,
  • pod dachem,
  • przy źródle ogrzewania,
  • na zewnątrz.

Dzięki wielu czujnikom na jednej magistrali można stworzyć mapę temperatury i lepiej sterować wentylacją lub ogrzewaniem.

Ochrona przed przymrozkami

ESP32 z DS18B20 może wysyłać powiadomienie, gdy temperatura spadnie poniżej ustalonego poziomu. To przydatne w ogrodach, tunelach foliowych i przy uprawach wrażliwych na mróz.

DS18B20 w akwarium i terrarium

DS18B20 jest często wybierany do monitorowania temperatury w akwariach i terrariach.

Akwarium

W akwarium temperatura wody jest jednym z kluczowych parametrów. DS18B20 może współpracować z mikrokontrolerem, który:

  • wyświetla temperaturę,
  • steruje grzałką przez przekaźnik,
  • wysyła alert przy przegrzaniu,
  • zapisuje historię pomiarów,
  • integruje się z systemem smart home.

Trzeba jednak stosować bezpieczne rozwiązania elektryczne, szczególnie gdy projekt łączy wodę i zasilanie sieciowe.

Terrarium

W terrarium można mierzyć temperaturę w kilku strefach: przy źródle ciepła, w chłodniejszej części i przy podłożu. DS18B20 pozwala zbudować prosty kontroler temperatury lub system alarmowy.

DS18B20 w projektach IoT

DS18B20 jest jednym z najlepszych czujników do nauki IoT, ponieważ generuje prostą, praktyczną daną: temperaturę. Połączenie DS18B20 z ESP32 pozwala zbudować urządzenie, które mierzy temperaturę i wysyła ją przez Wi-Fi.

Wysyłanie danych przez MQTT

W typowym projekcie IoT ESP32 odczytuje temperaturę z DS18B20 i publikuje ją przez MQTT. Dane mogą trafić do Home Assistanta, Node-RED, InfluxDB, Grafany albo własnej aplikacji.

Rejestracja danych

Można zapisywać pomiary co minutę, co pięć minut albo co godzinę. Taki rejestr temperatury jest przydatny w:

  • analizie pracy ogrzewania,
  • kontroli lodówki,
  • monitorowaniu szklarni,
  • badaniu zmian temperatury na zewnątrz,
  • projektach edukacyjnych.

Zasilanie bateryjne

DS18B20 może być używany w urządzeniach bateryjnych, szczególnie gdy mikrokontroler przechodzi w tryb uśpienia między pomiarami. W takim projekcie trzeba ograniczyć pobór prądu całego układu, nie tylko samego czujnika.

DS18B20 i wiele czujników na jednej magistrali

Jedną z najważniejszych funkcji DS18B20 jest obsługa wielu czujników na jednej linii 1-Wire.

Jak to działa?

Każdy czujnik ma unikalny adres. Mikrokontroler może wykryć urządzenia na magistrali, zapisać ich adresy, a następnie odczytywać temperaturę z wybranego czujnika.

Przykład zastosowania

Załóżmy, że budujesz system monitorowania instalacji grzewczej. Możesz zamontować DS18B20:

  • na zasilaniu kotła,
  • na powrocie,
  • na zasobniku ciepłej wody,
  • w pomieszczeniu,
  • na zewnątrz.

Wszystkie czujniki mogą być podłączone do jednej linii danych, co ogranicza liczbę przewodów i upraszcza instalację.

Dlaczego warto używać adresów?

Jeżeli odczytujesz temperaturę po indeksie, kolejność czujników może być myląca. Przy kilku czujnikach lepiej odczytać i zapisać ich adresy, a następnie przypisać każdy adres do konkretnej lokalizacji.

Przykład kodu Arduino dla wielu DS18B20

Poniższy przykład pokazuje podstawowe wykrywanie liczby czujników i odczyt temperatury po indeksie.

#include 
#include

const int ONE_WIRE_BUS = 2;

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

void setup() {
Serial.begin(9600);
sensors.begin();

Serial.print(\"Liczba wykrytych czujnikow: \");
Serial.println(sensors.getDeviceCount());
}

void loop() {
sensors.requestTemperatures();

int liczba = sensors.getDeviceCount();

for (int i = 0; i < liczba; i++) {
Serial.print(\"Czujnik \");
Serial.print(i);
Serial.print(\": \");
Serial.print(sensors.getTempCByIndex(i));
Serial.println(\" °C\");
}

delay(2000);
}

W prostych testach to wystarczy, ale w docelowej instalacji lepiej używać adresów.

Przykład odczytu adresów DS18B20

Aby zidentyfikować czujniki, można wypisać ich adresy.

#include 
#include

const int ONE_WIRE_BUS = 2;

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

DeviceAddress adres;

void printAddress(DeviceAddress deviceAddress) {
for (uint8_t i = 0; i < 8; i++) {
if (deviceAddress[i] < 16) Serial.print(\"0\");
Serial.print(deviceAddress[i], HEX);
}
}

void setup() {
Serial.begin(9600);
sensors.begin();

int liczba = sensors.getDeviceCount();

Serial.print(\"Wykryto czujnikow: \");
Serial.println(liczba);

for (int i = 0; i < liczba; i++) {
if (sensors.getAddress(adres, i)) {
Serial.print(\"Adres czujnika \");
Serial.print(i);
Serial.print(\": \");
printAddress(adres);
Serial.println();
}
}
}

void loop() {
}

Po odczytaniu adresów można oznaczyć fizyczne czujniki, na przykład „akwarium”, „pokój”, „zewnątrz”, „bojler”.

Kalibracja DS18B20

DS18B20 jest fabrycznie skalibrowanym czujnikiem cyfrowym, ale w praktyce czasem warto wykonać prostą kalibrację porównawczą.

Kiedy kalibracja ma sens?

Kalibracja jest szczególnie przydatna, gdy:

  • używasz wielu czujników i chcesz porównać ich wskazania,
  • projekt steruje ogrzewaniem lub chłodzeniem,
  • pomiar ma znaczenie praktyczne,
  • czujniki pochodzą z różnych źródeł,
  • używasz tanich sond wodoodpornych,
  • chcesz uzyskać spójne dane w systemie monitoringu.

Jak wykonać prostą kalibrację?

Najprostsza metoda polega na umieszczeniu wszystkich czujników w tym samym środowisku i porównaniu wyników po ustabilizowaniu temperatury. Jeśli jeden czujnik stale pokazuje o 0,3°C więcej niż pozostałe, można dodać korektę programową.

Przykład:

float korekta = -0.3;
float temperatura = sensors.getTempCByIndex(0) + korekta;

Kalibracja a dokładność

Korekta programowa nie zmienia fizycznych właściwości czujnika, ale może poprawić spójność pomiarów w konkretnym zakresie temperatury. Dla bardzo precyzyjnych zastosowań trzeba używać odpowiednich czujników referencyjnych i procedur kalibracji.

Typowe błędne odczyty DS18B20

Podczas pracy z DS18B20 można spotkać charakterystyczne błędne wartości. Ich znajomość ułatwia diagnozowanie problemów.

Odczyt -127°C

W bibliotekach Arduino wartość -127°C często oznacza, że czujnik nie został poprawnie odczytany albo nie jest wykrywany.

Możliwe przyczyny:

  • brak rezystora 4,7 kΩ,
  • źle podłączone przewody,
  • przerwana linia danych,
  • brak wspólnej masy,
  • uszkodzony czujnik,
  • zły pin w kodzie,
  • za długie przewody bez poprawnej topologii.

Odczyt 85°C

Wartość 85°C często pojawia się jako domyślna wartość po starcie czujnika, zanim zostanie wykonana poprawna konwersja temperatury.

Możliwe przyczyny:

  • odczyt przed zakończeniem konwersji,
  • problem z zasilaniem,
  • zbyt szybkie odpytywanie,
  • błąd w sekwencji programu,
  • niestabilna magistrala.

Skaczące wartości

Jeżeli temperatura skacze losowo, sprawdź:

  • rezystor pull-up,
  • długość przewodów,
  • połączenia na płytce stykowej,
  • jakość zasilania,
  • obecność zakłóceń od przekaźników lub silników,
  • poprawność masy.

DS18B20 a długość przewodów

DS18B20 często jest używany na dłuższych przewodach, szczególnie w wersji sondowej. Magistrala 1-Wire może działać na większych odległościach, ale wymaga dobrego okablowania i testów.

Co wpływa na stabilność?

Na stabilność magistrali wpływają:

  • długość przewodu,
  • liczba czujników,
  • topologia połączeń,
  • jakość przewodu,
  • wartość rezystora pull-up,
  • zakłócenia elektromagnetyczne,
  • wilgoć i jakość izolacji,
  • sposób zasilania czujników.

Topologia magistrali

Najlepsza jest zwykle topologia liniowa, czyli przewód główny z krótkimi odgałęzieniami. Bardzo rozgałęziona gwiazda może powodować odbicia sygnału i niestabilność.

Jak poprawić niezawodność?

Aby poprawić stabilność DS18B20 na dłuższych przewodach:

  • użyj klasycznego zasilania trzema przewodami,
  • stosuj rezystor pull-up blisko mikrokontrolera,
  • unikaj długich rozgałęzień,
  • używaj skrętki lub przewodu dobrej jakości,
  • prowadź przewody z dala od silników i przewodów zasilania dużych obciążeń,
  • testuj instalację w docelowych warunkach.

DS18B20 a Arduino, ESP32 i Raspberry Pi – porównanie

DS18B20 z Arduino

Arduino jest najłatwiejsze na start. Biblioteki są proste, napięcie 5 V pasuje do DS18B20, a przykłady są bardzo liczne.

Najlepsze do:

  • nauki,
  • prostych termometrów,
  • sterowników,
  • projektów szkolnych,
  • prototypów.

DS18B20 z ESP32

ESP32 jest lepszy do projektów IoT. Ma Wi-Fi i Bluetooth, pracuje z logiką 3,3 V i może wysyłać dane do internetu.

Najlepsze do:

  • Home Assistant,
  • MQTT,
  • zdalnego monitoringu,
  • pomiarów w wielu miejscach,
  • powiadomień,
  • urządzeń bateryjnych z deep sleep.

DS18B20 z Raspberry Pi

Raspberry Pi sprawdzi się tam, gdzie potrzebny jest pełny system operacyjny, baza danych, interfejs WWW albo zaawansowana analiza.

Najlepsze do:

  • rejestratorów danych,
  • serwerów pomiarowych,
  • paneli smart home,
  • integracji z bazami danych,
  • wizualizacji wykresów.

DS18B20 w sterownikach temperatury

DS18B20 bardzo często jest używany jako czujnik w sterownikach temperatury. Może sterować grzałką, wentylatorem, pompą, przekaźnikiem lub alarmem.

Prosty termostat

Najprostszy termostat działa według zasady:

  1. Odczytaj temperaturę.
  2. Porównaj ją z wartością zadaną.
  3. Jeśli temperatura jest za niska, włącz grzanie.
  4. Jeśli temperatura jest wystarczająca, wyłącz grzanie.

Histereza

W termostacie bardzo ważna jest histereza. Bez niej przekaźnik może szybko włączać się i wyłączać przy granicznej temperaturze.

Przykład:

  • grzanie włącz poniżej 21,5°C,
  • grzanie wyłącz powyżej 22,0°C.

Dzięki temu układ działa stabilniej.

Bezpieczeństwo

Jeśli DS18B20 steruje grzałką, pompą lub urządzeniem sieciowym, należy zachować szczególną ostrożność. Sam czujnik i mikrokontroler są tylko częścią systemu. Potrzebne są zabezpieczenia, poprawny przekaźnik, izolacja, obudowa i awaryjne wyłączenie w razie błędu.

Przykład prostego termostatu z DS18B20

#include 
#include

const int ONE_WIRE_BUS = 2;
const int relayPin = 8;

const float tempWlacz = 21.5;
const float tempWylacz = 22.0;

bool grzanie = false;

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

void setup() {
Serial.begin(9600);
sensors.begin();

pinMode(relayPin, OUTPUT);
digitalWrite(relayPin, LOW);
}

void loop() {
sensors.requestTemperatures();
float temperatura = sensors.getTempCByIndex(0);

Serial.print(\"Temperatura: \");
Serial.println(temperatura);

if (!grzanie && temperatura < tempWlacz) {
grzanie = true;
digitalWrite(relayPin, HIGH);
}

if (grzanie && temperatura > tempWylacz) {
grzanie = false;
digitalWrite(relayPin, LOW);
}

delay(1000);
}

W praktyce trzeba sprawdzić, czy moduł przekaźnika jest aktywny stanem HIGH czy LOW. Wiele gotowych modułów działa odwrotnie, czyli włącza przekaźnik po podaniu stanu LOW.

DS18B20 w systemie Home Assistant

DS18B20 bardzo dobrze pasuje do Home Assistanta, szczególnie w połączeniu z ESPHome i ESP32 albo ESP8266.

Dlaczego DS18B20 jest dobry do Home Assistanta?

Jest prosty, tani i stabilny, a wiele czujników można podłączyć do jednej magistrali. Dzięki temu można zbudować rozbudowany system pomiaru temperatury w domu.

Przykładowe zastosowania

W Home Assistant DS18B20 może służyć do:

  • monitorowania temperatury w pokojach,
  • pomiaru temperatury bojlera,
  • kontroli ogrzewania,
  • sterowania wentylacją,
  • alertów o zbyt wysokiej lub niskiej temperaturze,
  • tworzenia wykresów,
  • automatyzacji ogrzewania i chłodzenia.

ESPHome i DS18B20

ESPHome ułatwia konfigurację DS18B20 bez pisania klasycznego kodu Arduino. Wystarczy określić pin magistrali i czujniki, a dane pojawią się w Home Assistant.

DS18B20 a inne czujniki temperatury

DS18B20 nie jest jedynym czujnikiem temperatury. Warto wiedzieć, kiedy wybrać właśnie ten model, a kiedy lepsze będzie inne rozwiązanie.

DS18B20 a DHT22

DHT22 mierzy temperaturę i wilgotność, natomiast DS18B20 mierzy tylko temperaturę. DS18B20 jest często stabilniejszy do samego pomiaru temperatury, szczególnie w wersji sondowej.

Wybierz DS18B20, gdy:

  • potrzebujesz pomiaru temperatury cieczy,
  • chcesz użyć długiego przewodu,
  • nie potrzebujesz wilgotności,
  • chcesz podłączyć wiele czujników na jednej linii.

Wybierz DHT22, gdy:

  • potrzebujesz jednocześnie temperatury i wilgotności,
  • projekt działa w powietrzu,
  • wymagana dokładność nie jest bardzo wysoka.

DS18B20 a BME280

BME280 mierzy temperaturę, wilgotność i ciśnienie. Jest świetny do stacji pogodowych, ale nie nadaje się tak dobrze do pomiaru temperatury cieczy czy gleby.

DS18B20 jest lepszy do punktowego pomiaru temperatury, a BME280 do monitorowania warunków powietrza.

DS18B20 a termistor NTC

Termistor NTC jest tani i szybki, ale wymaga pomiaru analogowego i przeliczeń. DS18B20 jest wygodniejszy, ponieważ podaje wynik cyfrowo.

NTC może być lepszy, gdy:

  • potrzebujesz bardzo szybkiej reakcji,
  • budujesz prosty układ analogowy,
  • koszt jednostkowy jest krytyczny.

DS18B20 jest lepszy, gdy:

  • chcesz łatwy odczyt cyfrowy,
  • używasz wielu czujników,
  • zależy Ci na prostym kodzie,
  • chcesz uniknąć kalibracji układu analogowego.

DS18B20 a termopara

Termopara nadaje się do bardzo wysokich temperatur, znacznie przekraczających możliwości DS18B20. Jeśli mierzysz temperaturę pieca, spalin lub elementów o bardzo wysokiej temperaturze, DS18B20 nie będzie właściwym wyborem.

Najczęstsze błędy przy DS18B20

Brak rezystora pull-up

To najczęstszy błąd. Bez rezystora 4,7 kΩ między DQ a VDD czujnik może nie działać poprawnie.

Złe podłączenie przewodów

Szczególnie w wersjach wodoodpornych kolory przewodów mogą wprowadzać w błąd. Jeśli czujnik nie działa, sprawdź pinout.

Podciągnięcie DQ do 5 V przy ESP32

ESP32 pracuje z logiką 3,3 V. Jeśli używasz ESP32, rezystor pull-up powinien iść do 3,3 V, nie do 5 V.

Zbyt długie przewody bez testów

DS18B20 może działać na dłuższych przewodach, ale nie każda instalacja będzie stabilna od razu. Trzeba testować topologię, rezystor i jakość przewodów.

Odczyt temperatury przed zakończeniem konwersji

Przy rozdzielczości 12 bitów konwersja może trwać do 750 ms. Zbyt szybki odczyt może prowadzić do błędów lub nieaktualnych danych.

Mylenie adresów wielu czujników

Jeśli używasz kilku DS18B20, zapisz ich adresy i lokalizacje. W przeciwnym razie łatwo pomylić, który czujnik mierzy które miejsce.

Jak poprawić stabilność pomiarów DS18B20?

Używaj zasilania trzema przewodami

Tryb klasyczny jest zwykle stabilniejszy niż parasite power. Szczególnie przy dłuższych przewodach i wielu czujnikach warto używać VDD, GND i DQ.

Stosuj dobrą masę

Wszystkie elementy układu muszą mieć wspólną masę. Dotyczy to szczególnie projektów z zasilaniem zewnętrznym, przekaźnikami i długimi przewodami.

Filtruj błędne odczyty

W kodzie warto sprawdzać, czy wynik nie jest błędny, na przykład -127°C lub 85°C w nieodpowiednim momencie. Można też uśredniać kilka pomiarów.

Nie odczytuj zbyt często

Temperatura zwykle zmienia się powoli. Nie ma sensu odczytywać DS18B20 setki razy na sekundę. W wielu projektach wystarczy pomiar co 1–10 sekund, a w monitoringu środowiskowym nawet co minutę.

Dokumentuj instalację

Jeśli masz kilka czujników, zapisz:

  • adres czujnika,
  • lokalizację,
  • długość przewodu,
  • datę montażu,
  • ewentualną korektę kalibracyjną.

To bardzo ułatwia serwis i rozwój projektu.

DS18B20 w projektach edukacyjnych

DS18B20 to świetny czujnik do nauki elektroniki i programowania, ponieważ pozwala połączyć teorię z praktyką.

Czego uczy praca z DS18B20?

Praca z DS18B20 uczy:

  • komunikacji cyfrowej,
  • magistrali 1-Wire,
  • korzystania z bibliotek,
  • odczytu danych z czujników,
  • pracy z wieloma urządzeniami na jednej linii,
  • obsługi błędów,
  • prezentacji danych,
  • podstaw automatyki.

Proste projekty dla początkujących

Na start warto wykonać:

  • termometr z monitorem portu szeregowego,
  • termometr z wyświetlaczem LCD,
  • termometr z OLED,
  • alarm temperatury z buzzerem,
  • sterownik wentylatora,
  • rejestrator temperatury na kartę SD,
  • termometr Wi-Fi na ESP32,
  • czujnik temperatury do Home Assistanta.

DS18B20 z wyświetlaczem LCD lub OLED

Czujnik temperatury staje się bardziej praktyczny, gdy wynik jest widoczny bez komputera.

DS18B20 i LCD 16×2

Wyświetlacz LCD 16×2 może pokazywać aktualną temperaturę i stan urządzenia. To dobry projekt dla Arduino.

Przykładowy ekran:

Temp: 23.6 C
Status: OK

DS18B20 i OLED

Wyświetlacz OLED jest mniejszy, czytelny i często używany z ESP32. Można na nim pokazać temperaturę, wykres, ikonę stanu Wi-Fi lub wartość minimalną i maksymalną.

DS18B20 jako zabezpieczenie termiczne

DS18B20 może pełnić funkcję prostego zabezpieczenia przed przegrzaniem. Mikrokontroler może wyłączyć urządzenie, gdy temperatura przekroczy próg.

Przykłady zastosowań

Czujnik można wykorzystać do ochrony:

  • zasilacza,
  • wzmacniacza,
  • obudowy elektroniki,
  • akumulatora,
  • drukarki 3D,
  • komory grzewczej,
  • radiatora,
  • silnika,
  • pompy.

Uwaga na zastosowania krytyczne

W zastosowaniach krytycznych DS18B20 nie powinien być jedynym zabezpieczeniem. Warto stosować niezależne bezpieczniki termiczne, termostaty mechaniczne lub układy awaryjnego odcięcia.

DS18B20 i pomiar temperatury cieczy

Wersja wodoodporna DS18B20 jest bardzo często używana do pomiaru temperatury cieczy.

Jak poprawnie mierzyć temperaturę wody?

Aby uzyskać stabilny pomiar:

  • zanurz metalową końcówkę sondy,
  • unikaj zanurzania miejsca łączenia przewodu, jeśli nie masz pewności co do szczelności,
  • odczekaj, aż temperatura sondy się ustabilizuje,
  • unikaj kontaktu przewodu z gorącymi elementami,
  • stosuj izolację elektryczną i bezpieczne zasilanie.

Czas reakcji sondy

Sonda w metalowej tulei reaguje wolniej niż sam układ scalony. Metalowa obudowa i izolacja wpływają na bezwładność cieplną. W wielu zastosowaniach to nie problem, ale przy szybkich zmianach temperatury trzeba brać to pod uwagę.

DS18B20 w instalacjach grzewczych

DS18B20 jest często montowany na rurach, w tulejach pomiarowych lub przy zasobnikach.

Pomiar na rurze

Jeśli sonda mierzy temperaturę rury od zewnątrz, wynik może różnić się od temperatury medium wewnątrz. Aby poprawić pomiar:

  • dobrze dociśnij sondę do rury,
  • użyj pasty termoprzewodzącej,
  • zaizoluj sondę od otoczenia,
  • unikaj miejsc przy przeciągach,
  • zapewnij stabilny kontakt mechaniczny.

Pomiar w tulei

Najlepszy pomiar cieczy w instalacji uzyskuje się przez tuleję pomiarową, jeśli instalacja ją przewiduje. Sonda ma wtedy lepszy kontakt termiczny z medium i jest chroniona przed bezpośrednim wpływem środowiska.

DS18B20 a szybkość pomiaru

DS18B20 nie jest czujnikiem do bardzo szybkich pomiarów dynamicznych. Przy rozdzielczości 12 bitów czas konwersji może wynosić do 750 ms.

Kiedy szybkość ma znaczenie?

Szybkość może być istotna w projektach takich jak:

  • szybka kontrola procesu,
  • pomiar zmian temperatury małych elementów,
  • zabezpieczenia dynamiczne,
  • eksperymenty laboratoryjne.

W takich przypadkach można zmniejszyć rozdzielczość do 9, 10 lub 11 bitów, aby skrócić czas pomiaru.

Kiedy szybkość nie ma dużego znaczenia?

W większości projektów domowych temperatura zmienia się powoli. Pomiar co sekundę, co kilka sekund albo co minutę jest wystarczający.

Dotyczy to między innymi:

  • temperatury pokojowej,
  • akwarium,
  • szklarni,
  • lodówki,
  • bojlera,
  • gleby,
  • monitoringu zewnętrznego.

DS18B20 a energooszczędność

DS18B20 może być używany w projektach bateryjnych, ale trzeba odpowiednio zaprojektować cały układ.

Pomiar okresowy

Najlepsza strategia to:

  1. Wybudzić mikrokontroler.
  2. Włączyć zasilanie czujnika.
  3. Wykonać pomiar.
  4. Wysłać lub zapisać dane.
  5. Wyłączyć czujnik.
  6. Uśpić mikrokontroler.

ESP32 i deep sleep

ESP32 może przechodzić w deep sleep, ale sam moduł deweloperski często pobiera więcej prądu niż goły moduł, ze względu na stabilizator, konwerter USB-UART i diody. W projektach bateryjnych warto używać płytek zaprojektowanych do niskiego poboru energii.

Czy DS18B20 zużywa dużo prądu?

Sam DS18B20 nie jest bardzo energochłonny, ale w urządzeniu bateryjnym liczy się suma: mikrokontroler, stabilizator, moduł Wi-Fi, diody LED, rezystory pull-up i czas aktywnej pracy.

DS18B20 w praktyce – przykładowe projekty

Termometr pokojowy

Najprostszy projekt: Arduino lub ESP32, DS18B20 i wyświetlacz. Urządzenie pokazuje temperaturę w pomieszczeniu.

Termometr Wi-Fi

ESP32 z DS18B20 wysyła temperaturę do serwera WWW, MQTT lub Home Assistanta. To dobry projekt IoT.

Alarm temperatury

Czujnik monitoruje temperaturę i uruchamia buzzer, diodę lub powiadomienie, gdy przekroczony zostanie próg.

Sterownik wentylatora

DS18B20 mierzy temperaturę radiatora lub obudowy. Po przekroczeniu progu mikrokontroler włącza wentylator.

Monitor akwarium

Wodoodporna sonda mierzy temperaturę wody. System może wyświetlać wynik i ostrzegać o niebezpiecznej temperaturze.

Rejestrator temperatury

Arduino lub ESP32 zapisuje pomiary na karcie SD albo wysyła je do bazy danych. Dzięki temu można analizować zmiany temperatury w czasie.

Sterownik szklarni

Kilka czujników DS18B20 monitoruje temperaturę gleby, powietrza i zewnętrzną. Mikrokontroler steruje wentylacją, ogrzewaniem lub powiadomieniami.

Dobre praktyki przy projektowaniu układu z DS18B20

Wybierz właściwy tryb zasilania

Do większości projektów wybierz klasyczne zasilanie trzema przewodami. Tryb parasite power zostaw do sytuacji, w których naprawdę potrzebujesz ograniczyć liczbę żył.

Stosuj rezystor pull-up

Rezystor 4,7 kΩ między DQ a VDD jest podstawą poprawnego działania magistrali 1-Wire.

Uważaj na poziomy logiczne

Przy ESP32 i Raspberry Pi podciągaj linię danych do 3,3 V. Przy Arduino Uno możesz używać 5 V, jeśli cały układ jest zgodny z takim napięciem.

Unikaj chaosu przy wielu czujnikach

Zapisuj adresy, lokalizacje i korekty. Przy większej liczbie czujników bez dokumentacji szybko pojawi się bałagan.

Testuj instalację przed montażem

Przed zamontowaniem sond w ścianie, szklarni, akwarium czy instalacji grzewczej uruchom cały system na stole i sprawdź stabilność przez dłuższy czas.

FAQ – najczęstsze pytania o DS18B20

Co to jest DS18B20?

DS18B20 to cyfrowy czujnik temperatury komunikujący się przez magistralę 1-Wire. Umożliwia pomiar temperatury i przesyłanie wyniku cyfrowo do mikrokontrolera.

Jaki zakres temperatur mierzy DS18B20?

DS18B20 mierzy temperaturę w zakresie od -55°C do +125°C. Dokładność ±0,5°C dotyczy zakresu od -10°C do +85°C.

Jaką dokładność ma DS18B20?

Typowa dokładność DS18B20 wynosi ±0,5°C w zakresie od -10°C do +85°C. Poza tym zakresem błąd może być większy.

Czy DS18B20 działa z Arduino?

Tak. DS18B20 bardzo dobrze współpracuje z Arduino. Najczęściej używa się bibliotek OneWire i DallasTemperature.

Czy DS18B20 działa z ESP32?

Tak. DS18B20 działa z ESP32, najlepiej przy zasilaniu 3,3 V i podciągnięciu linii danych do 3,3 V.

Czy DS18B20 działa z Raspberry Pi?

Tak. Raspberry Pi może obsługiwać DS18B20 przez magistralę 1-Wire. Należy pamiętać, aby podciągać linię danych do 3,3 V.

Czy DS18B20 wymaga rezystora?

Tak, w typowym układzie wymagany jest rezystor podciągający, najczęściej 4,7 kΩ między linią danych DQ a zasilaniem VDD.

Ile przewodów ma DS18B20?

W typowym połączeniu DS18B20 używa trzech przewodów: VDD, GND i DQ. W trybie parasite power możliwa jest praca z linią danych i masą.

Czy można podłączyć wiele DS18B20 do jednego pinu?

Tak. Dzięki unikalnemu 64-bitowemu adresowi każdego czujnika można podłączyć wiele DS18B20 do jednej magistrali 1-Wire.

Co oznacza odczyt -127°C z DS18B20?

Najczęściej oznacza problem z komunikacją: brak czujnika, złe podłączenie, brak rezystora pull-up, uszkodzony przewód lub błędnie wybrany pin.

Co oznacza odczyt 85°C z DS18B20?

85°C często oznacza wartość domyślną po starcie lub odczyt wykonany przed poprawnym zakończeniem konwersji temperatury.

Czy wodoodporny DS18B20 można zanurzyć w wodzie?

Wiele sond DS18B20 jest sprzedawanych jako wodoodporne i nadaje się do pomiaru temperatury wody. Warto jednak sprawdzić jakość wykonania, szczególnie szczelność przy połączeniu przewodu z metalową tuleją.

Czy DS18B20 nadaje się do pomiaru temperatury pieca?

DS18B20 mierzy do +125°C, więc nie nadaje się do bardzo wysokich temperatur, takich jak spaliny, wnętrze pieca czy gorące elementy przekraczające ten zakres. Do takich zastosowań lepsza jest termopara.

Jak szybko mierzy DS18B20?

Czas konwersji zależy od rozdzielczości. Przy 12 bitach może wynosić do 750 ms, a przy 9 bitach jest znacznie krótszy.

Czy DS18B20 jest lepszy od DHT22?

To zależy od zastosowania. DS18B20 jest zwykle lepszy do samego pomiaru temperatury, szczególnie cieczy lub pomiarów na przewodzie. DHT22 mierzy także wilgotność, więc jest lepszy, gdy potrzebujesz obu parametrów.

Jakie napięcie zasilania ma DS18B20?

DS18B20 może pracować z zasilaniem od 3,0 V do 5,5 V. Dzięki temu nadaje się do Arduino, ESP32 i Raspberry Pi, pod warunkiem poprawnego podłączenia poziomów logicznych