Menggunakan 3 Sensor Suhu DS18B20 pada Arduino
Semangat pagi buat teman-teman yang lagi sibuk mengerjakan projectnya, ngomong-ngomong sudah sampai tahap apa? hehe. Oke jumpa lagi bersama saya admin symask.blogspot.com, pada kesempatan ini saya akan membahas bagaimana caranya menggunakan 3 sensor suhu DS18B20 pada Arduino. Nah pada postingan saya sebelumnya sudah membahas tentang sensor ini (baca dulu), namun sensor yang digunakan hanya 1 sensor. Lalu bagaimana dengan 3 sensor? apa dengan 3 pin inputan juga? Bukan teman-teman, caranya adalah memparalelkan data sensor ds18b20 ke 1 pin, misalnya pin A0 pada Arduino. Kemudian kita cari dulu address dari masing-masing sensornya, setelah itu masukkan tiap address pada sketch arduino. Untuk lebih jelasnya lihat rangkaian di bawah ini.
Penggunaan dengan banyak sensor ini biasanya digunakan pada objek yang lebih dari satu, misalnya untuk mengukur suhu tanah pada pot guna membedakan antara suhu masing-masing tanah pada pot, atau pada ruangan yang luas sehingga memerlukan jumlah sensor yang banyak.
Langsung saja yang diperlukan pada project 3 sensor suhu ds1b20 ini sebagai berikut :
Langsung saja yang diperlukan pada project 3 sensor suhu ds1b20 ini sebagai berikut :
Software :
Hardware :
- Arduino Uno atau board lainnya
- 3 sensor suhu DS18B20
- Resistor 4.7k Ohm
- Kabel jumper
- Project board jika diperlukan.
Rangkaian :
Sensor suhu DS18B20
- Salah satu kabel data (kuning) dihubungkan dengan resistor 4.7k Ohm dan kabel merah (+)
kemudian diparalelkan ke dan dihubungkan ke pin A0 Arduino.
- Kabel merah (+) dihubungkan ke 5V Arduino
- Kabel hitam (-) dihubungkan ke GND Arduino
Langkah-langkah :
- Rangkai komponen seperti yang sudah dijelaskan di atas (atau lihat gambar)
- Buka Arduino IDE, masukkan library DS18B20 yang sudah didownload.
- Pastikan Board sesuai dengan yang digunakan, dan Port : terceklis > misalnya COM12
- Cari address masing-masing sensor dengan mengupload sketch berikut :
- Buka Serial Monitor dengan baudrate 9600, kemudian catat address masing-masing sensor.
#include <OneWire.h>
OneWire ds(A0);
void setup(void) {
Serial.begin(9600);
}
void loop(void) {
byte i;
byte addr[8];
if (!ds.search(addr)) {
Serial.println(" No more addresses.");
Serial.println();
ds.reset_search();
delay(250);
return;
}
Serial.print(" ROM =");
for (i = 0; i < 8; i++) {
Serial.write(' ');
Serial.print(addr[i], HEX);
}
}
Ubah address seperti dibawah ini :
- sensor1 = 0x28, 0xFF, 0xA0, 0x11, 0x33, 0x17, 0x3, 0x96
- sensor2 = 0x28, 0xFF, 0xB4, 0x6, 0x33, 0x17, 0x3, 0x4B
- sensor3 = 0x28, 0xFF, 0x77, 0x62, 0x40, 0x17, 0x4, 0x31
Jadi hanya menambahkan 0x di depannya.
Upload sketch berikut ini :
#include <onewire.h>
#include <dallastemperature.h>
#define ONE_WIRE_BUS A0
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);
DeviceAddress sensor1= { 0x28, 0xFF, 0xA0, 0x11, 0x33, 0x17, 0x3, 0x96 };
DeviceAddress sensor2 = { 0x28, 0xFF, 0xB4, 0x6, 0x33, 0x17, 0x3, 0x4B };
DeviceAddress sensor3 = { 0x28, 0xFF, 0x77, 0x62, 0x40, 0x17, 0x4, 0x31 };
void setup(void){
Serial.begin(9600);
sensors.begin();
}
void loop(void){
Serial.print("Requesting temperatures...");
sensors.requestTemperatures();
Serial.println("DONE");
Serial.print("Sensor 1(*C): ");
Serial.println(sensors.getTempC(sensor1));
Serial.print("Sensor 2(*C): ");
Serial.println(sensors.getTempC(sensor2));
Serial.print("Sensor 3(*C): ");
Serial.println(sensors.getTempC(sensor3));
delay(2000);
}
Lihat hasilnya pada Serial Monitor. Selesai.Mudah bukan? semoga pembahasan ini bermanfaat untuk teman-teman. Selamat Mencoba.
Baca juga : Menampilkan Suhu pada 8x8 Dot Matrix Arduino
Terima kasih.
Baca juga : Menampilkan Suhu pada 8x8 Dot Matrix Arduino
Terima kasih.
0 Response to "Menggunakan 3 Sensor Suhu DS18B20 pada Arduino"
Post a Comment