Rangkaian Program Arduino: Sensor Suhu DS18B20

Rangkaian Program Arduino: Sensor Suhu DS18B20

Postingan sebelumnya membahas Program Arduino Sensor Suhu LM35, nah kali ini kita akan menggunakan DS18B20 sebagai sensor suhu.

Ada banyak kelebihan jika kita menggunakan sensor DS18B20, diantaranya:

  1. Menggunakan Pin Digital, beda dengan LM35 yang harus pake Analog.
  2. Ada library dan contoh koding yang tinggal pakai, sudah termasuk keluaran dalam bentuk fahrenheit.
  3. Dipasaran bahkan sudah ada yang menjual dalam bentuk Waterproofnya.

Spesifikasi Sensor DS18B20


  1. Komunikasi menggunakan One-Wire, cukup pake 1 pin digital aja.
  2. Tegangan masuk diantara 3.0V – 5.5V
  3. Akurasi kurang lebih sampai 0.5 Derajat Celcius

Yang Harus Disiapkan


  1. Arduino Uno (bisa gunakan yang compatible / clone)
  2. DS18B20 Sensor Suhu
  3. Kabel Jumper
  4. Breadboard (jika dibutuhkan)

Rangkaian Arduino – DS18B20


Silakan rangkaian komponen-komponen yang sudah di siapkan, seperti pada gambar dibawah ini, saya sertakan juga gambar rangkaian yang menggunakan Breadboard.

Bagi kamu yang anti Breadboard :D, silakan pake rangkaian dibawah:


Add Library Dulu Ya


Jangan lupa untuk menambahkan dulu 2 buah library berikut ya, dan silakan download librarynya melalui link dibawah ini:

One-Wire => https://github.com/PaulStoffregen/OneWire

Dallas Temperature => https://github.com/milesburton/Arduino-Temperature-Control-Library

Bisa download langsung melalui tombol dibawah ini:

Jika kedua library tersebut sudah di Download, silakan add satu persatu ke Arduino IDE ya, bagi yang belum tau cara Add nya silakan buka Tutorial berikut:

Bagaimana Cara Memasukan Library Ke Aplikasi Arduino IDE?


Contoh Program Baca Sensor DS18B20


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

// Inisialisasi pin data untuk sensor DS18B20
const int oneWireBusPin = 4;  // Sesuaikan dengan pin yang digunakan pada Arduino Anda

// Inisialisasi objek OneWire dan DallasTemperature
OneWire oneWire(oneWireBusPin);
DallasTemperature sensors(&oneWire);

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

void loop() {
  sensors.requestTemperatures();  // Minta sensor untuk membaca suhu

  // Baca suhu dalam Celsius dan Fahrenheit
  float celsius = sensors.getTempCByIndex(0);
  float fahrenheit = sensors.toFahrenheit(celsius);

  Serial.print("Suhu Celsius: ");
  Serial.print(celsius);
  Serial.print("°C | Suhu Fahrenheit: ");
  Serial.print(fahrenheit);
  Serial.println("°F");

  delay(1000);  // Tunggu sejenak sebelum membaca suhu lagi
}

Silakan Copas atau Ketik ulang Program diatas, sebelum Upload pastikan kamu sudah memilih Board dan Port yang benar.


Hasil Pengujian


Saya adalah seorang pengulik yang tertarik dalam bidang Microcontroller, Internet of Things (IoT), dan Artificial Intelligence (AI). Saya terus belajar dan mengembangkan pengetahuan serta keterampilan saya di dalam ketiga bidang tersebut dengan harapan dapat menciptakan solusi inovatif yang bermanfaat.

Leave a Reply

Your email address will not be published. Required fields are marked *

You might also like