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".

Selasa, 11 Mei 2021

IoT Project Sederhana (Part #3)

Menyambung postingan IoT Project Sederhana sebelumnya, pada postingan ini akan dibahas bagaimana hasil akhir dari IoT sederhana ini, yaitu kita dapat mengontrol (menghidup/mematikan) lampu melalui internet. Apa saja part yang dibutuhkan? tentu saja adalah sebuah bohlam dan kabel listrik secukupnya dengan rangkaian seperti pada gambar berikut ini:

IoT Sederhana

Gambar diatas merupakan rangkaian driver yang dapat memutus atau menyambung aliran listrik ke bohlam, sehingga dengan rangkaian controller yang mempunyai tegangan kontrol 5v dapat mengendalikan bohlam dengan tegangan 220V seperti pada listrik di rumah pada umumnya.

*Note : Rangkaian diatas merupakan rangkaian dasar sebagai contoh sederhana saja, jika ingin menerapkan system ini alangkah baiknya menambahkan komponen pengaman seperti MCB dll.


Senin, 10 Mei 2021

Membuat Gerber File Pada Software EAGLE

EAGLE AUTODESK

Untuk apa Gerber File? Gerber File digunakan pada industri PCB, tentunya digunakan oleh perangkat lunak yang mendeskripsikan design PCB diantaranya : Lapisan tembaga, Solder Mask, Silk screen, termasuk Drill dan lain-lain, dengan Gerber File ini kita bisa mencetak desain PCB pada industri PCB profesional tentunya akan menghasilkan papan sirkuit dengan kualitas yang baik untuk keperluan kita dalam perancangan perangkat elektronik. 

Ya... Tidak perlu panjang lebar kita membahas apa itu Gerber File, berikut akan dibahas bagaimana cara membuat Gerber File. *Pada tutorial kali ini kita menggunakan software Autodesk EAGLE versi 9.6.2. 

Buka file desain PCB yang sudah dibuat pada software eagle, format file *brd. Pilih File >> Pilih CAM Processor... 



Pada jendela CAM Processor, klik Proces Job di sudut kanan bawah.



Tunggu dan kemudian akan muncul pesan "Job Processed Succefully!!", pada tahap ini kita sudah berhasil membuat File Gerber


dan tahapan selanjutnya kita buka folder dimana kita menyimpan file Gerber ini. Secara otomatis menghasilkan Folder CAMOutputs dan 3 folder didalamnya, diantaranya : Assembly, DrillFIles, dan GerberFiles. 
dari antara 3 folder tersebut yng kita gunakan untuk keperluan Cetak PCB ini adalah file pada folder DrillFiles dan GerberFiles, silahkan gabungkan isi kedua folder tersebut.

File Gerber
Isi folder dari penggabungan DrillFiles & GerberFiles

Folder yang berisi penggabungan DrillFiles & GerberFiles dapat diubah namanya sesuai keinginan, dan silahkan kenversi menjadi file dengan format ZIP.


Sampai tahap ini file Gerber siap untuk diproses. 
Bagaimana caranya? NEXT>>

Kamis, 06 Mei 2021

IoT Project Sederhana (Part #2)

Melanjutkan postingan IoT Project Sederhana (Part #1), pada postingan ini akan kita bahas bagaimana cara merangkai modul-modul / perangkat project IoT kita. Berikut gambar rangkaian NodeMCU dan Relay modul :

NodeMCU+Relay Module
Pada gambar rangkaian modul diatas VCC (Red) dan GND (Black) dihubungkan, Wire berwarna biru adalah Signal Wire yang menghubungkan Pin D1 NodeMCU dengan Pin 1 pada modul relay (Blue) yang nantinya sebagai trigger untuk menghidup/mematikan Relay.

Jika telah selesai merangkai NodeMCU dan Modul Relay seperti gambar diatas, lakukan proses programming NodeMCU dengan sketch program sebagai berikut (Blynk - Program NodeMCU) :


#define BLYNK_PRINT Serial
#include <ESP8266WiFi.h> 
#include <BlynkSimpleEsp8266.h> 
char auth[] = "Auth token blynk ";//token blynk via e-mail
char ssid[] = "tulis nama wifi";//nama wifi yang digunakan
char pass[] = "tulis password wifi";//password wifi
 
void setup(){
  Serial.begin(9600);
  Blynk.begin(auth, ssid, pass);
}
void loop() {
  Blynk.run();
}


Kemudian lakukan setup aplikasi BLYNK pada smartphone setelah Mendaftar pada Aplikasi BLYNK.
>> Pilih ikon (+) pada sudut kanan atas
>> Pilih Button
Widget BLYNK

>> Klik Button yang telah kita tambahkan untuk melakukan seting pin sesuai dengan NodeMCU
>> Beri nama Relay pada kolom button (*Bebas memberi nama button)
>> Pada kolom PIN pilih Digital >> gp5 (pin D1 NodeMCU = gp5 pada BLYNK)
>> Pilih mode SWITCH 


Setelah selesai seting pin button, silahkan kembali dengan cara klik panah pada sudut kiri atas

Klik logo Play untuk menjalankan aplikasi Blynk dan siap untuk digunakan
Blynk Play

*Note : Pada tahap ini kita sudah bisa melakukan ujicoba aplikasi blynk untuk men-trigger Relay, tentunya sudah terhubung dengan internet baik itu NodeMCU maupun Smartphone yang kita gunakan.