Tampilkan postingan dengan label Sensor. Tampilkan semua postingan
Tampilkan postingan dengan label Sensor. Tampilkan semua postingan

Minggu, 23 Mei 2021

Multiple Sensor DS18B20 Pada Arduino

Melanjutkan postingan sebelumnya yaitu Menampilkan Nilai Sensor DS18B20 - Arduino, kali ini akan dibahas bagaimana menggunakan sensor DS18B20 lebih dari satu atau kita sebut juga multiple. Apa saja komponen-komponen yang digunakan? tentusaja kita hanya menambahkan sensor DS18B20. Untuk menggunakan sensor DS18B20 ini lebih dari satu, yang perlu diperhatikan adalah kita harus mengetahui alamat (kode) masing-masing sensor, bagaimana cara mengakses kode unik DS18B20? dapat dilihat DISINI.Setelah kita mendapatkan alamat masing-masing sensor, dan menyimpan alamat tersebut pada notepad dilanjutkan merubah alamat tersebut dengan menambahkan kode "0x", sebagai contoh berikut alamat sensor DS18B20 : 

28 C8 0 0 5F 13 0 BD   diubah dengan menambahkan kode "0x" sehingga menjadi 
0x28, 0xC8, 0x0, 0x0, 0x5F, 0x13, 0x0, 0xBD

Terlebih dahulu siapkan rengkaian DS18B20 dengan resistor 4.7K sebagai berikut:

Multiple DS18B20



Berikut adalah contoh program Multiple Sensor DS18B20 Pada Arduino :

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


#define ONE_WIRE_BUS 4        // Data Sensor pada Arduino PIN 4
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);

// Alamat Sensor 1
DeviceAddress AlamatSensor1 = { 0x28, 0xC8, 0x0, 0x0, 0x5F, 0x13, 0x0, 0xBD }; 

// Alamat Sensor 2
DeviceAddress AlamatSensor2 = { 0x28, 0xAF, 0x0, 0x0, 0x2C, 0xD0, 0x0, 0x11 }; 

// Alamat Sensor 3
DeviceAddress AlamatSensor3 = { 0x28, 0x1F, 0x0, 0x0, 0x2D, 0x12, 0x0, 0xAF }; 

int Sensor1;        
int Sensor2;  
int Sensor3;  


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


void loop()
{
 sensors.requestTemperatures();             // Membaca sensor
 Sensor1 = sensors.getTempC(AlamatSensor1);   
 Sensor2 = sensors.getTempC(AlamatSensor2);
 Sensor3 = sensors.getTempC(AlamatSensor3);
 Serial.print("Temperatur 1 = ");
 Serial.println(Sensor1); 
 Serial.print("Temperatur 2 = ");
 Serial.println(Sensor2); 
 Serial.print("Temperatur 3 = ");
 Serial.println(Sensor3);
 delay(1000);
}

Setelah berhasil upload program Multiple Sensor DS18B20, silahkan buka serial monitor untuk menampilkan pembacaan nilai sensor.

Selamat mencoba...Semoga sukses....


Rabu, 19 Mei 2021

Mengakses Kode Unik DS18B20

DS18B20
Seperti yang kita ketahui, sensor DS18B20 mempunyai kode unik sebagai address sensor tersebut, kegunaannya adalah apabila kita menggunakannya lebih dari 1 (multiple sensor). 
Contoh penerapannya kita membuat suatu project yang mana akan melakukan pengukuran di tiga titik pengukuran yang berbeda misalnya Titik A, Titik B, Titik C, tentunya kita membutuhkan alamat masing-masing sensor tersebut contohnya Titik A dengan kode 1, Titik B dengan kode 2, Titik C dengan kode 3. Dengan mengetahui kode tersebut dapat kita jadikan sebuah address pengambilan nilai sensor pada program yang akan kita buat.

Berikut sketch program untuk Mengakses Kode Unik DS18B20 :

#include <OneWire.h>

OneWire ds(2);  //Pin 2 Arduino Uno/Nano

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

void loop(void) {
  byte i;
  byte addr[8];
  
  if (!ds.search(addr)) {
    Serial.println();
    ds.reset_search();
    delay(1000);
    return;
  }
  Serial.print(" ADDRESS =");
  for (i = 0; i < 8; i++) {
    Serial.write(' ');
    Serial.print(addr[i], HEX);
  }
}

Upload sketch program diatas pada Arduino dan tentunya rangkaian sensor sudah dipersiapkan seperti gambar berikut:

Arduino Nano + DS18B20

Setelah program berhasil di-Upload / tidak ada error, silahkan buka Serial monitor yang akan menampilkan alamat sensor.

*NOTE: Setelah mendapatkan alamat sensor A copy dan simpan alamat tersebut pada notepad, kemudian ganti sensor A dengan sensor B dan catat alamat sensor B pada notepad, begitu juga untuk sensor selanjutnya.


Selamat mencoba...

Semoga sukses!!


Sabtu, 15 Mei 2021

Arduino - Menampilkan Nilai Sensor DS18B20

Untuk menampilkan nilai pembacaan dari sensor DS18B20 pada arduino tentunya kita harus mempersiapkan rangkaian sensor tersebut terlebih dahulu, jika menggunakan satu atau lebih sensor DS18B20 cukup kita menambahkan resistor dengan nilai resistansi 4.7Kohm. Cara merangkainya sangatlah mudah, berikut rincian part-part yang harus dipersiapkan :
  1. Arduino Board (Arduino Uno/Nano) 
  2. Breadboard 
  3. DS18B20 
  4. Resistor 4.7K 
  5. Kabel Jumper Secukupnya 
Terlebih dahulu pasang sensor DS18B20 pada breadboard kemudian hubungkan resistor 4.7K pada kaki VCC dan DATA, kemudian hubungkan kaki VCC sensor pada 5V/3.3V Arduino dan kaki GND sensor pada GND Arduino, untuk kaki DATA pada sensor dapat kita hubungkan pada pin D2 arduino, lebih jelasnya dapat dilihat pada gambar berikut ini.

RANGKAIAN DS18B20
Rangkaian DS18B20 - ARDUINO
Setelah melakukan pemasangan komponen sesuai dengan yang dijelaskan diatas, kita lanjut dengan program Arduino, tentunya menggunakan Software Arduino IDE dengan persiapan library DS18B20 dan 1-Wire bus, jika belum mempunyai Library DS18B20 silahkan download DISINI dan 1-Wire bus. Lakukan pemasangan library pada software Arduino IDE, kemudian Copy Paste sketch program berikut pada software Arduino IDE dan Upload.

/*********Library yang digunakan******************/
#include <OneWire.h> 
#include <DallasTemperature.h>
/********************************************************/
#define ONE_WIRE_BUS 2   //Pin data yang digunakan yaitu PIN 2
/********************************************************/

OneWire oneWire(ONE_WIRE_BUS); 
DallasTemperature sensors(&oneWire);

void setup(void) 
 Serial.begin(9600); 
 Serial.println("Menampiklan Nilai Sensor DS18B20"); 

 sensors.begin(); 
void loop(void) 
 Serial.print(" Requesting temperatures..."); 
 sensors.requestTemperatures();
 Serial.println("DONE"); 

 Serial.print("Temperature is: "); 
 Serial.print(sensors.getTempCByIndex(0)); 
 delay(1000); //Setiap 1 detik akan menampilkan nilai sensor

Setelah berhasil upload program Arduino, silahkan buka Serial monitor untuk menampilkan nilai pembacaan dari sensor DS18B20. 

Bagaimana jika kita ini menggunakan sensor DS18B20 lebih dari satu? postingan selanjutnya akan membahas "Multiple Sensor DS18B20 Pada Arduino"

Rabu, 12 Mei 2021

Sensor Temperatur DS18B20

DS18B20 -DALLAS
Hello sobat EBLOSH, postingan kali ini akan membahas tentang sensor temperatur DS18B20. Sensor ini dapat digunakan sebagai input pada Arduino, Raspberry dll, yang dapat membaca/mendeteksi suhu dengan rentang -55°C hingga 125°C dengan ketelitian (+/-0.5°C ). DS18B20 dapat digunakan dalam jumlah yang banyak hanya dengan 1 kabel data saja (1 wire data bus), karena memiliki kode unik yang tertanam pada masing-masing chip. Jadi dengan menggunakan hanya 1 wire data saja dapat menghemat I/O pada mikrokontroler. 
Sensor DS18B20 dapat diaplikasikan dalam project-project elektronika daiantaranya sebagai alat temperature monitor atau sebagai temperatur kontrol. DS18B20 mempunyai 3 pin yaitu GND, DATA, dan VCC dengan rentang tegangan 3.0V sampai 5.5V, untuk jelasnya dapat dilihat pada gambar berikut.
DS18B20 pinout
DS18B20 - Pinout

Tersedia juga sensor DS18B20 dengan casing waterproof yang dapat diaplikasikan untuk pengukuran temperatur dalam cairan (Pada umumnya AIR).

Sebagai contoh penerapan sensor DS18B20 diantaranya : 
  1. Pengontrol suhu aquarium 
  2. Monitor suhu ruangan
  3. Pengontrol suhu mesin penetas telur 
  4. Pengontrol suhu peralatan elektronik, dll  
Pada postingan selanjutnya akan dibahas bagaimana "Cara Pembacaan Sensor DS18B20 pada Arduino".