Sensor suhu DS18B20 adalah sensor digital yang sangat akurat dan cocok untuk proyek pemantauan suhu.
Kelebihannya:
- Komunikasi digital (1-Wire)
- Bisa membaca banyak sensor dalam satu pin
- Tahan air (versi waterproof)
- Akurasi hingga ±0.5°C
Pada tutorial ini, kita akan belajar:
- Wiring DS18B20 ke Arduino
- Menggunakan pustaka OneWire dan DallasTemperature
- Menampilkan data suhu di Serial Monitor
Alat dan Bahan
- Arduino Uno (atau lainnya)
- Sensor DS18B20 (biasa atau waterproof)
- Resistor 4.7K Ohm
- Kabel jumper
- Breadboard
Wiring Rangkaian DS18B20 ke Arduino
Pin DS18B20:
GND → GND Arduino
VCC → 5V Arduino
DATA → Pin 3 Arduino
Pasang resistor 4.7K antara DATA dan VCC
Instalasi Library
Buka Library Manager di Arduino IDE dan cari lalu install:
Kode Program Membaca Suhu
//https://github.com/PaulStoffregen/OneWire
//https://github.com/milesburton/Arduino-Temperature-Control-Library
#include "OneWire.h"
#include "DallasTemperature.h"
#define temp_pin 3
OneWire oneWireTemp(temp_pin);
DallasTemperature sensors(&oneWireTemp);
void setup() {
Serial.begin(9600);
sensors.begin();
}
void loop() {
sensors.requestTemperatures();
//print the temperature in Celsius
Serial.print("Temperature: ");
Serial.print(sensors.getTempCByIndex(0));
Serial.print("°C | ");
//print the temperature in Fahrenheit
Serial.print((sensors.getTempCByIndex(0) * 9.0) / 5.0 + 32.0);
Serial.println("°F");
delay(500);
}
Penjelasan Kode
- sensors.begin() menginisialisasi sensor
- requestTemperatures() memerintahkan sensor untuk mengambil data suhu
- getTempCByIndex(0) digunakan jika hanya satu sensor terhubung
Tampilan Serial Monitor
Wokwi project link:
Selamat mencoba!
EmoticonEmoticon
Note: Only a member of this blog may post a comment.