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
- Siapkan alat dan juga bahan yang akan digunakan
- Kedua Lakukan proses wiring dengan menggunakan Gambar skematik rangkaian diatas
- Buka software Arduino IDE yang telah terinstal pada laptop/komputer
- Unduh semua library di atas dan juga masukkan libray tersebut dengan cara buka Arduino IDE pilih Sketch->Include Library->Add.Zip Library
- Berikutnya Ketikkan sketch program pada halaman Arduino IDE
- Sesuaikan Auth Tokens dengan proyek aplikasi Blynk. Cara setting dan mendapatkan Auth Tokens dapat dilihat pada tutorial berikut:
Setting Blynk untuk NodeMCU ESP8266 - Ganti ssid dan juga pass dengan nama wifi dan password wifi yang kalian gunakan
- Lakukan proses uploading program
- Kemudian Buka aplikasi Blynk
- Buat layout Blynk seperti gambar di atas.
- 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?