Alat pemantau debit air hujan berguna untuk memancau cuaca. Ada banyak cara untuk mengetahui debit air hujan salah satunya adalah dengan menggunakan flow sensor. Sensor ini bekerja dengan cara menghitung perputaran turbin per satuan waktu.
1. Alat / Bahan
- Arduino IDE Download
- Library: Blynk Download
- Library: ESP8266 Download
- NodeMCU ESP8266 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 Alat Pemantau Debit Air Hujan berbasis IoT
Keterangan:
- VU – VCC Flow Sensor
- GND – GND Flow Sensor
- D7 – Data Flow Sensor
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
- ketiga 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
- Ketikkan sketch program pada halaman Arduino IDE
- kemudian 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 Alat Pemantau Debit Air Hujan 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; #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 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; } } void sendSensor(){ //Kirim data sensor Blynk.virtualWrite(V0,flowRate); }
Kesimpulan:
Baca juga :
Coba tiup flow sensor. Nilai flow rate pada aplikasi Blynk akan naik sesuai dengan kecepatan putaran turbin di dalam flow sensor.
Baca juga : Sistem Bendungan Otomatis Anti Banjir
Mau belajar elektronika dasar? Arduino? atau Internet of Things? Ikuti kursus online Indobot Academy!