Alat Monitoring Cuaca berbasis IoT

Indobot Academy

Alat untuk memonitoring cuaca dapat kita buat dengan mengabungkan sensor hujan dan sensor LDR. Selain dapat dibuat dengan mudah, alat yang kita buat akan dihubungkan dengan internet sehingga dapat dipantau dengan lebih mudah.

 

1. Alat / Bahan
  • Arduino IDE                                     Download
  • Library: Blynk                                  Download
  • Library: ESP8266                            Download
  • NodeMCU ESP8266                         1 Buah
  • Sensor Hujan                                   1 Buah
  • Sensor LDR                                      1 Buah
  • Resistor 10k                                      1 Buah
  • Project Board                                  1 Buah
  • Kabel Jumper                                  Secukupnya
  • Smartphone                                     1 Buah

Segera untuk mendapatkan komponen elektronik di atas silahkan temukan.

2. Skema Rangkaian

Gambar Rangkaian Alat Monitoring Cuaca berbasis IoT

Keterangan:

  • VU – VCC Sensor Hujan, VCC LDR
  • GND – GND Sensor Hujan
  • GND – Resistor 1k
  • Resistor 1k – Kaki LDR – A0
  • D3 – Pin Data Sensor Hujan
3. Layout Blynk
Alat Monitoring Cuaca berbasis IoT
Alat Monitoring Cuaca berbasis IoT

Keterangan:

  • Notifikasi
  • LCD
    • Input = Advanced, V1
  • Cahaya (Labeled Value)
    • Input V0, Low = 0, High = 9999
    • Label = /pin./ Lux
4. Langkah Kerja
  1. Pertama Siapkan alat dan bahan yang akan digunakan
  2. Kedua Lakukan proses wiring dengan menggunakan Gambar skematik rangkaian diatas
  3. Ketiga Buka software Arduino IDE yang telah terinstal pada laptop/komputer
  4. Kemudian Unduh semua library di atas dan masukkan libray tersebut dengan cara buka Arduino IDE pilih Sketch->Include Library->Add.Zip Library 
  5. Selanjutnya Ketikkan sketch program pada halaman Arduino IDE
  6. Setelah itu Sesuaikan Auth Tokens dengan proyek aplikasi Blynk. Cara setting dan mendapatkan Auth Tokens dapat dilihat pada tutorial berikut:
    Setting Blynk untuk NodeMCU ESP8266
  7. Segera Ganti ssid dan pass dengan nama wifi dan password wifi yang kalian gunakan
  8. kemudian Lakukan proses uploading program
  9. Selanjutnya Buka aplikasi Blynk
  10. Buat layout Blynk maka akan seperti pada gambar.
  11. Kemudian Tekan tombol Play pada aplikasi Blynk lalu tunggu hingga proyek kalian terhubung dengan aplikasi Blynk
5. Sketch Program

Belajar elektronika step by step dengan bantuan tangga belajar? Regitrasi dulu dan dapatkan konsultasi dari kami!

 
/* Program Alat Monitoring Cuaca berbasis IoT dibuat oleh Indobot */

#include <ESP8266WiFi.h>              //Library ESP8266
#include <BlynkSimpleEsp8266.h>       //Library Blynk

char auth[] = "HoP9z23_PbWp-iEyMBYFGnnALYBvvcXS"; //Token
char ssid[] = "Wifi.id";                          //Nama wifi
char pass[] = "alam oye";                         //Password wifi

BlynkTimer timer;

WidgetLCD lcd(V1);

#define LDR A0                              //LDR pada pin A0
#define MAX_ADC_READING 1023
#define ADC_REF_VOLTAGE 5.0
#define REF_RESISTANCE 10000
#define LUX_CALC_SCALAR 125235178.3654270
#define LUX_CALC_EXPONENT -1.604568157
int ldrRawData;
float resistorVoltage, ldrVoltage;
float ldrResistance;
float ldrLux;

#define hujan 0     //Sensor hujan pada pin D3

unsigned long TSekarang;
unsigned long TAkhir;

void setup() {
  Blynk.begin(auth, ssid, pass);          //Inisialisasi token, wifi dan password
  timer.setInterval(1000L, sendSensor);   //Kirim data sensor                      
  pinMode(hujan, INPUT);
}

void loop() {
  Blynk.run();                        //Jalankan pembacaan Blynk
  timer.run();

  hitung_cahaya();
  if(ldrLux > 200){
    lcd.print(0,0,"Cerah  ");
  }
  else{
    lcd.print(0,0,"Mendung");
  }

  if(digitalRead(hujan) == LOW){
    lcd.print(0,1,"Hujan      ");
    TSekarang = millis();
    if(TSekarang - TAkhir > 10000){   //Kirim notifikasi setiap 10 detik
      Blynk.notify("Hujan Terdeteksi!!!");
      TAkhir = TSekarang;
    }
  }
  else{
    lcd.print(0,1,"Tidak Hujan");
  }
}

void sendSensor(){                  //Kirim data sensor
  Blynk.virtualWrite(V0,ldrLux);
}

void hitung_cahaya(){
  ldrRawData = analogRead(LDR);   //Baca sensor

  //------------Konversi  dari data analog ke nilai lux------------//
  resistorVoltage = (float)ldrRawData / MAX_ADC_READING * ADC_REF_VOLTAGE;
  ldrVoltage = ADC_REF_VOLTAGE - resistorVoltage;
  ldrResistance = ldrVoltage / resistorVoltage * REF_RESISTANCE;
  ldrLux = LUX_CALC_SCALAR * pow(ldrResistance, LUX_CALC_EXPONENT);
}

Kesimpulan:

Alat yang kita buat akan menampilkan kondisi cahaya yang ada diluar, serta kondisi cuaca apakah hujan atau tidak. Selain itu ketika terjadi hujan kita juga akan mendapatkan notifikasi pada smartphone.

Bikin project tanpa ribet beli komponen sana-sini? Starter Kit Arduino/IoT bisa jadi solusi mu!

Ingin Tahu Program Kami Lebih Lanjut?

Silahkan isi Formulir Dibawah Ini untuk Diskusi dengan Tim Indobot Academy.

Baca Juga

Bagikan:

Tags

Tinggalkan komentar

whatsapp whatsapp