Monitoring Debit Air Sistem Irigasi dengan Smartphone

Indobot Academy

Sistem pengairan modern tidak hanya dapat memenuhi jumlah kebutuhan air saja. Namun, pemantauan lebih lanjut diperlukan agar sistem berjalan lebih efisien. Pemantauan laju aliran air memungkinkan pengguna dapat menentukan efisiensi dari sistem irigasi.

[membership level=”0,1,2,4″]

1. Alat / Bahan
  • Arduino IDE                                     Download
  • Library: Blynk                                  Download
  • Library: ESP8266                            Download
  • Library I2C                                       Download
  • NodeMCU                                      1 Buah
  • LCD I2C                                          1 Buah
  • Flow Sensor                                     1 Buah
  • Project Board                                  1 Buah
  • Kabel Jumper                                  Secukupnya
  • Smartphone                                     1 Buah

Kemudian untuk mendapatkan komponen elektronik di atas silahkan temukan disini.

2. Skema Rangkaian

Gambar Berikut Merupakan Rangkaian Monitoring Debit Air Sistem Irigasi dengan Smartphone

Keterangan:

  • VU – VCC Flow Sensor, VCC I2C
  • GND – GND Flow Sensor, GND I2C
  • D1 – SCL
  • D2 – SDA
  • D7 – Data Flow Sensor

[/membership]

3. Layout Blynk

Keterangan:

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

Dapatkan puluhan ebook gratis dengan registrasi melalui tombol di bawah!

 
/* Program Monitoring Debit Air Sistem Irigasi dengan Smartphone 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;

#include <LiquidCrystal_I2C.h>      //Library LCD I2C
LiquidCrystal_I2C lcd(0x27, 16, 2); //Alamat I2C

#define SENSOR  13

long currentMillis = 0;
long previousMillis = 0;
int interval = 1000;
float calibrationFactor = 4.5;
volatile byte pulseCount;
byte pulse1Sec = 0;
float flowRate;
unsigned int flowMilliLitres;
unsigned long totalMilliLitres;

void pulseCounter()
{
  pulseCount++;
}

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

  lcd.init();       //Mulai LCD
  lcd.backlight();  //Nyalakan backlight
  
  pinMode(SENSOR, INPUT_PULLUP);

  pulseCount = 0;
  flowRate = 0.0;
  flowMilliLitres = 0;
  totalMilliLitres = 0;
  previousMillis = 0;

  attachInterrupt(digitalPinToInterrupt(SENSOR), pulseCounter, FALLING);

}

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

  currentMillis = millis();
  if (currentMillis - previousMillis > interval) {
    
    pulse1Sec = pulseCount;
    pulseCount = 0;

    flowRate = ((1000.0 / (millis() - previousMillis)) * pulse1Sec) / calibrationFactor;
    previousMillis = millis();

    flowMilliLitres = (flowRate / 60) * 1000;

    totalMilliLitres += flowMilliLitres;
  }

  lcd.setCursor(0,0);
  lcd.print("Debit= ");
  lcd.print(flowRate);
  lcd.print(" l/m      ");
}

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

Kesimpulan:

Nilai laju aliran akan tertampil pada layar LCD. Data ini juga langsung dikirimkan secara real time ke aplikasi Blynk.

[/membership]

Ingin mengadakan pelatihan Arduino atau bahkan IoT (Internet of Things) bersama Indobot?

Ingin Tahu Program Kami Lebih Lanjut?

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

Baca Juga

Bagikan:

Tinggalkan komentar

whatsapp whatsapp