
Deskripsi Sensor Suhu DS18B20
Salah Sensor suhu yang sering digunakan dalam dunia embedded system atau dunia mikrokontroler dengan Platform Arduino adalah Sensor Suhu DS18B20. Sensor DS18B20 adalah perangkat elektronik yang sering digunakan dalam berbagai aplikasi untuk mengukur suhu dengan presisi tinggi. Karena cukup mudah dalam penggunaannya selain itu juga sudah terdapat Library Arduino Sensor Suhu DS18B20.
Bagaimana Cara Kerja Sensor Suhu DS18B20?
Cara kerja sensor suhu DS18B20 adalah bekerja dengan mengonversi suhu menjadi sinyal digital yang dapat dibaca oleh mikrokontroler atau komputer. Proses pengukuran melibatkan konversi suhu analog ke digital menggunakan termometer internal, kemudian data tersebut dikirimkan melalui antarmuka 1-Wire.
Spesifikasi dan Fitur Sensor Suhu Waterproof DS18B20
DS18B20 adalah sensor suhu digital yang berkomunikasi melalui protokol 1-Wire, yang memungkinkan beberapa perangkat berkomunikasi melalui satu kabel data. Beberapa fitur utama dari sensor ini meliputi:
- Rentang Pengukuran Suhu: -55°C hingga +125°C dengan akurasi ±0.5°C di antara -10°C hingga +85°C.
- Resolusi: Dapat diprogram dari 9-bit hingga 12-bit, dengan resolusi default 12-bit yang menghasilkan 0.0625°C per LSB.
- Antarmuka 1-Wire: Memungkinkan koneksi beberapa sensor pada satu jalur data, menghemat penggunaan pin pada mikrokontroler.
- Unik 64-bit Serial Code: Setiap sensor memiliki kode seri unik yang memastikan tidak ada konflik antara sensor saat digunakan bersama-sama dalam satu jaringan.
- Power Supply: Bisa beroperasi dengan suplai daya 3.0V hingga 5.5V, dan mendukung mode power parasitic yang hanya memerlukan dua kabel (data dan ground).
Bagaimana Skematik Sensor Suhu DS18B20 Dengan Arduino atau ESP32?

Contoh Source Code Mengakses Sensor Suhu DS18B20 Menggunakan ESP32 Arduino
Berikut adalah contoh source code untuk mengakses sensor suhu DS18B20 menggunakan ESP32 dan menampilkan hasilnya pada layar i2c LCD 16×2 menggunakan Arduino IDE.
Komponen yang Diperlukan
- ESP32
- Sensor suhu DS18B20
- LCD 16×2 dengan modul i2c
- Breadboard dan kabel jumper
- Resistor 4.7k ohm (untuk pull-up pada sensor DS18B20)
Library yang Diperlukan
OneWireDallasTemperatureWireLiquidCrystal_I2C
Wiring Diagram
- DS18B20 ke ESP32:
- VCC -> 3.3V
- GND -> GND
- Data -> GPIO 4 (D2)
- Pasang resistor 4.7k ohm antara VCC dan Data
- LCD i2c ke ESP32:
- VCC -> 3.3V
- GND -> GND
- SDA -> GPIO 21 (D21)
- SCL -> GPIO 22 (D22)
Source Code
#include <OneWire.h>
#include <DallasTemperature.h>
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
// Pin untuk DS18B20
#define ONE_WIRE_BUS 4
// Membuat instance OneWire untuk komunikasi dengan DS18B20
OneWire oneWire(ONE_WIRE_BUS);
// Membuat instance DallasTemperature untuk mengakses DS18B20
DallasTemperature sensors(&oneWire);
// Membuat instance LiquidCrystal_I2C untuk LCD
LiquidCrystal_I2C lcd(0x27, 16, 2); // Ganti 0x27 dengan alamat i2c LCD Anda jika berbeda
void setup() {
// Memulai komunikasi serial
Serial.begin(115200);
// Memulai komunikasi dengan DS18B20
sensors.begin();
// Memulai komunikasi dengan LCD
lcd.init();
lcd.backlight();
// Menampilkan pesan awal di LCD
lcd.setCursor(0, 0);
lcd.print(“Temp Sensor”);
lcd.setCursor(0, 1);
lcd.print(“Initializing…”);
delay(2000); // Menunggu 2 detik
lcd.clear();
}
void loop() {
// Meminta sensor untuk membaca suhu
sensors.requestTemperatures();
// Membaca suhu dalam Celsius
float tempC = sensors.getTempCByIndex(0);
// Menampilkan suhu di Serial Monitor
Serial.print(“Temperature: “);
Serial.print(tempC);
Serial.println(” *C”);
// Menampilkan suhu di LCD
lcd.setCursor(0, 0);
lcd.print(“Temp: “);
lcd.print(tempC);
lcd.print(” C”);
// Tunggu 1 detik sebelum pembacaan berikutnya
delay(1000);
}
Penjelasan Code
- Include Libraries:
OneWire.hdanDallasTemperature.huntuk berkomunikasi dengan sensor DS18B20.Wire.hdanLiquidCrystal_I2C.huntuk berkomunikasi dengan LCD i2c.
- Pin Configuration:
ONE_WIRE_BUSdiatur ke GPIO 4 pada ESP32, yang terhubung ke pin data DS18B20.
- Object Creation:
OneWireuntuk komunikasi one-wire dengan DS18B20.DallasTemperatureuntuk fungsi khusus sensor suhu DS18B20.LiquidCrystal_I2Cuntuk kontrol LCD i2c.
- Setup Function:
- Memulai komunikasi serial.
- Memulai komunikasi dengan DS18B20 dan LCD.
- Menampilkan pesan awal pada LCD.
- Loop Function:
- Meminta sensor untuk membaca suhu.
- Membaca dan mencetak suhu di Serial Monitor.
- Menampilkan suhu di LCD.
- Menunggu satu detik sebelum pembacaan berikutnya.
Anda dapat meng-upload code ini ke ESP32 Anda menggunakan Arduino IDE setelah memastikan semua koneksi dan library telah diatur dengan benar.
Jika teman-teman Pembaca masih merasa kesulitan untuk mengakses dan mengintegrasikan Sensor Suhu DS18B20 menggunakan ESP32, Bisa langsung menghubungi kontak kami atau menggunakan Jasa Kami dalam Pembuatan Alat Elektronika atau Jasa Program Arduino dan Jasa Tugas Akhir Elektronika dan Arduino.




