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:
- Menggunakan Pin Digital, beda dengan LM35 yang harus pake Analog.
- Ada library dan contoh koding yang tinggal pakai, sudah termasuk keluaran dalam bentuk fahrenheit.
- Dipasaran bahkan sudah ada yang menjual dalam bentuk Waterproofnya.
Spesifikasi Sensor DS18B20
- Komunikasi menggunakan One-Wire, cukup pake 1 pin digital aja.
- Tegangan masuk diantara 3.0V – 5.5V
- Akurasi kurang lebih sampai 0.5 Derajat Celcius
Yang Harus Disiapkan
- Arduino Uno (bisa gunakan yang compatible / clone)
- DS18B20 Sensor Suhu
- Kabel Jumper
- 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.