Image
8 Temmuz, 2026

DS18B20 Nedir? Nasıl Çalışır? Arduino ile Su Geçirmez Sıcaklık Sensörü Kullanımı

DS18B20 Nedir? Nasıl Çalışır? Arduino ile Su Geçirmez Sıcaklık Sensörü Kullanımı

DS18B20, sıcaklık verilerini dijital olarak üreten ve Dallas Semiconductor (Maxim Integrated) tarafından geliştirilen yüksek hassasiyetli bir sıcaklık sensörüdür. Piyasada hem standart TO-92 transistör kılıfında hem de dış etkenlerden korunması amacıyla paslanmaz çelik tüp içerisine yerleştirilmiş su geçirmez (waterproof) kablolu versiyonuyla bulunur. Bu su geçirmez yapısı sayesinde akvaryum sıcaklık takiplerinde, sıvı depolarında, toprak altı ölçümlerinde ve kalorifer tesisatlarında çok sık tercih edilir.

Arduino projelerinde analog sensörler (LM35 veya termistörler gibi) uzun kablo mesafelerinde voltaj düşümünden etkilenerek hatalı sonuçlar verebilir. DS18B20 ise tamamen dijital olarak haberleştiği için kablo uzunluğundan etkilenmez ve 9-bit ile 12-bit arasında ayarlanabilir çözünürlüğüyle çok kararlı ölçümler sunar. Bu yazıda DS18B20 sensörünün ne olduğunu, çalışma mantığını, tek hat (One-Wire) teknolojisini, renkli kablo yapısını ve Arduino ile sıcaklık ölçüm uygulamasını adım adım inceleyeceğiz.

DS18B20 Su Geçirmez Sıcaklık Sensörü
Fotoğraf 1: DS18B20 Su Geçirmez Dijital Sıcaklık Sensörü.

DS18B20 Sensörü Nedir ve One-Wire Protokolü Nasıl Çalışır?

DS18B20, -55°C ile +125°C arasındaki sıcaklıkları mükemmel bir kararlılıkla ölçebilir. Sensörün en ayırt edici özelliği, Dallas firmasına ait olan One-Wire (Tek Hat) haberleşme protokolünü kullanmasıdır. Bu protokol sayesinde Arduino'nun sadece tek bir dijital pini üzerinden sensörle veri alışverişi yapılabilir.

Daha da önemlisi, her bir DS18B20 sensörünün üretim bandında içerisine kazınmış benzersiz bir 64-bitlik seri numarası (ID adresi) bulunur. Bu benzersiz adresler sayesinde, Arduino'nun aynı dijital pinine (aynı data hattına) onlarca DS18B20 sensörünü paralel olarak bağlayabilirsiniz. Arduino, tek bir kablo üzerinden tüm sensörlere adresleriyle seslenerek her odanın veya her su deposunun sıcaklığını tek tek, pinleri işgal etmeden öğrenebilir.

Kısaca: DS18B20; uzun mesafelerde bile voltaj kaybından etkilenmeyen, tek bir dijital hat üzerinden benzersiz adresleme mantığıyla onlarca sensörün bir arada okunmasına izin veren su geçirmez dijital bir termometredir.

Proje Uygulama Videosu

Su geçirmez DS18B20 sensörünün Arduino ile devre kurulum adımlarını, pull-up direncinin önemini ve seri monitördeki anlık sıcaklık değişimlerini aşağıdaki uygulama videomuzdan detaylıca izleyebilirsiniz:

Kablo Renkleri ve Donanımsal Pull-Up Direnci

Piyasada bulunan su geçirmez DS18B20 sensörleri genellikle 3 damarlı korumalı bir kabloyla gelir. Bu kabloların renk standards ve görevleri şu şekildedir:

Kablo Rengi Görevi Arduino Bağlantısı
Kırmızı (Red) VCC Besleme Hattı (3.0V - 5.5V) Arduino 5V veya 3.3V Pinine
Siyah (Black) GND Topraklama Hattı Arduino GND Pinine
Sarı / Beyaz (Yellow / White) DATA Sinyal Hattı (One-Wire) Herhangi bir Dijital Pine (Örn: D2)
ÖNEMLİ (4.7K Direnç Şartı): One-Wire protokolünün veri hattında kararlı sinyal taşınabilmesi için, bağlantı kurulurken VCC (Kırmızı) hattı ile DATA (Sarı/Beyaz) hattı arasına 4.7K Ohm değerinde bir pull-up direnci bağlanmalıdır. Bu direnç bağlanmazsa Arduino sensörü asla tanıyamaz ve veri okuyamaz. (Eğer hazır DS18B20 sensör kartı modülü kullanıyorsanız, direnç kart üzerinde dahili olarak yer aldığından bu bağlantıya gerek kalmaz).
DS18B20 Arduino Bağlantı Şeması
Fotoğraf 2: DS18B20 ve 4.7K Pull-Up Dirençli Arduino Bağlantı Grafiği.

Arduino ile DS18B20 Kullanımı İçin Gerekli Malzemeler

Gerekli Malzeme Ürün Linki
Arduino Uno Arduino Uno R3 Klon + USB Kablo
DS18B20 Su Geçirmez Sensör DS18B20 Su Geçirmez Sıcaklık Sensörü
Breadboard Breadboard
Jumper Kablo Jumper Kablo

Arduino DS18B20 Örnek Kod Yapısı

Bu kodu çalıştırmak için Arduino IDE kütüphane yöneticisine girerek iki adet kütüphaneyi yüklemeniz gerekir: OneWire ve DallasTemperature. Aşağıdaki kod, tek pin üzerinden bağlanan sensörü otomatik olarak algılar ve ölçülen Celsius sıcaklık değerini her saniye güncelleyerek ekrana yansıtır.

#include 
#include 

// Sensörün Data bacağının bağlı olduğu dijital pin
#define ONE_WIRE_BUS 2

// OneWire protokol nesnesi oluşturuldu
OneWire oneWire(ONE_WIRE_BUS);

// DallasTemperature kütüphanesine referans verildi
DallasTemperature sensors(&oneWire);

void setup() {
  Serial.begin(9600); // Seri monitör hızı
  Serial.println("DS18B20 Sıcaklık Sensör Testi");
  
  sensors.begin(); // Sensör kütüphanesi başlatıldı
}

void loop() {
  // Hatta bağlı olan tüm sensörlere sıcaklık okuma komutu gönder
  sensors.requestTemperatures(); 
  
  // 0 indeksli (yani hatta bulduğu ilk) sensörün sıcaklık verisini al
  float tempC = sensors.getTempCByIndex(0);

  // Okuma hatasını kontrol et (Sensör söküldüğünde -127.00 değeri döner)
  if(tempC == DEVICE_DISCONNECTED_C) {
    Serial.println("HATA: Sensör bağlantısı koptu veya bulunamadı!");
  } else {
    Serial.print("Ortam / Sıvı Sıcaklığı: ");
    Serial.print(tempC);
    Serial.println(" °C");
  }

  delay(1000); // 1 saniye bekle
}
Git

Çoklu DS18B20 Okuma ve Akvaryum Otomasyonu Kodları

Aynı pin üzerine paralel bağlı 3 veya daha fazla DS18B20 sensörünün benzersiz ROM adreslerini tek tek tespit eden adres bulucu (scanner) kodları, röle modülü entegreli kuluçka ve akvaryum ısıtıcı otomasyon yazılımları ile ESP32 tabanlı uzaktan takip şemalarının tamamına GitHub sayfamızdan erişebilirsiniz.

DS18B20 Kullanırken Sık Karşılaşılan Hatalar

  • Seri Monitörde "-127" Değeri Görmek: Dallas kütüphanesinde `-127.00` değeri, mikrodenetleyicinin sensör donanımına fiziksel olarak ulaşamadığını simgeler. Bunun iki sebebi vardır: Ya data bacağındaki 4.7K Ohm'luk pull-up direnci unutulmuştur ya da kablo bağlantılarında temassızlık/ters bağlantı söz konusudur.
  • Sensörün Aşırı Isınması: Kırmızı (VCC) ve Siyah (GND) kablolarının yönü karıştırılıp ters bağlandığında sensör içindeki dijital entegre saniyeler içinde aşırı derecede ısınır. Ters bağlantı fark edildiği an enerji kesilmelidir, aksi halde sensör kalıcı olarak bozulur.
  • Direnç Değerini Yanlış Seçmek: 4.7K Ohm yerine çok daha yüksek (örneğin 100K) veya çok daha düşük dirençler kullanmak One-Wire hattındaki lojik seviyeleri bozarak veri paketlerinin düşmesine sebep olabilir.

Robomer’de Bulabileceğiniz Diğer Sıcaklık Sensör Çeşitleri

DS18B20 Su Geçirmez Sıcaklık Sensörü

DS18B20 Su Geçirmez Sıcaklık Sensörü

Paslanmaz çelik prob kılıfı, 1 metreye yakın esnek kablosu ve One-Wire dijital arabirim altyapısıyla sıvılarda kullanıma uygun standart model.

Ürünü İncele
DS18B20 Sıcaklık Sensörü Kartı

DS18B20 Sıcaklık Sensörü Kartı Modülü

Üzerinde dahili 4.7K pull-up direnci barındıran, 3 pinli yapısıyla doğrudan jumper kablo kullanarak breadboard üzerinde hızlı devre kurmaya izin veren kompakt kart modeli.

Ürünü İncele

Sonuç

DS18B20 Dijital Sıcaklık Sensörü, analog gürültülerden arındırılmış kararlı yapısı ve tek hat üzerinden çoklu cihaz kontrolüne izin veren One-Wire protokolüyle endüstriyel takip projelerinin vazgeçilmez bir parçasıdır. Gelişmiş veri protokollerini kütüphaneler yardımıyla kod dünyasına dahil edip yorumlamak, gömülü yazılım projelerindeki donanım hakimiyetinizi artırır. Projenize güçlü ve su geçirmez bir ölçüm yeteneği kazandıracak tüm sensör, direnç, ekran ve koruma ekipmanlarına Robomer kalitesiyle hemen sahip olabilir, devrelerinizi kurmaya başlayabilirsiniz.

Otomasyon ve Akıllı Ev Projelerinizi Kurun

Geliştirme kartları, LCD / OLED ekranlar, röle modülleri ve projenizin ihtiyacı olan tüm kablolama elemanları Robomer güvencesiyle kapınızda.

Robomer Sensör Kategorisini İncele