Flow Sensor Arduino
Water Flow Sensor
Water flow sensor terdiri dari body, ada yang dari plastic dan dari logam, kemudian Rotor dan Sensor Hall Effect. Ketika Cairan melalui Rotor maka Rotor akan berputar. Kecepatan air pada sensor flow akan mempengaruhi flow rate. Output Sensor Hall Effect pada Sensor flow ini akan mengeluarkan output signal, atau pulse. Kecepatan pulse output berbanding lurus dengan kecepatan cairan yang melalui Rotor. Analogi sensor ini sebenar nya mirip dengan kincir air. Semakin cepat air dan debet air akan mempercepat pula perputaran dari kincir itu sendiri.
Beberapa contoh pengguanaan flow sensor ini bias di lihat pada mesin pembuat minuman kopi atau jenis minuman lain nya. Bisa juga di lihat pada dispenser pertamini atau pom mini. Yang jelas adalah Water flow Sensor ini berguna untuk menghitung debet, kecepatan cairan dalam sebuah saluran ( pipa ).
Untuk Spesifikasi dari Water flow Sensor dapat kita lihat pada daftar di bawah ini:
- Tegangan Minimum : DC 4.5V
- Arus Maksimal: 15mA (DC 5V)
- Tegangan Kerja: DC 5V ~ 24V
- Rentang Aliran Arus: 1 ~ 30L / menit
- Kapasitas Beban: ≤10mA (DC 5V)
- Suhu Operasional: ≤80 ℃
- Suhu Cair: ≤120 ℃
- Kelembaban Operasi: 35% ~ 90% RH
- Tekanan Air: ≤1.75MPa
- Suhu Penyimpanan: -25 ~ + 80 ℃
- Kelembaban Penyimpanan: 25% ~ 95% RH
Wiring Flow Sensor dengan Arduino
Wiring Flow sensor dengan Arduino cukup mudah. Flow Sensor terdiri dari tiga pin saja. Yaitu pin VCC ( kita kasih tegangan 5volt) kemudian pin Output ( berupa pulse signal ) dan yang terakhir adalah GND. GND yang kita hubungkan ke GND nya Arduino. Untuk lebih jelas nya bisa dilihat pada gambar di bawah ini.
output sensor dari flow sensor di hubungkan ke pin 2 atau bisa juga di sebut dengan pin interrupt 0. Untuk supply tegangan nya bisa di ambil dari Arduino saja. Untuk saya pribadi, tidak lagi memerlukan jumper-jumper seperti gambar di atas. cukup tinggal plugin sensor nya ke PCB nya. PCB Arduino custome ini bisa di lihat pada gambar di bawah ini.
Pada gambar di atas, perhatikan posisi kiri bawah, ada tiga lubang, dan itu di gunakan untuk konektor flow sensor. Jadi instalasi nya cukup mudah.
Coding Arduino
Nah sekarang terakhir adalah bagaimana cara kita membaca output dari sensor water flow ini? Karena output sensor ini kita hubungkan ke pin Interrupt 0 ( Pin 2 ), maka pembacaan nya juga menggunakan system interrupt. Lebih jelas nya kita lihat program di bawah ini.
#include "Wire.h"; #include "LiquidCrystal_I2C.h"; LiquidCrystal_I2C lcd(0x3f, 16, 2); // alamat i2c lcd dan type lcd 16x2 int flowPin = 2; double flowRate; volatile int count; unsigned long oldTime; void setup() { lcd.init(); lcd.backlight(); pinMode(flowPin, INPUT); attachInterrupt(0,flow,CHANGE); } void loop() { if (millis() - oldTime > 10){ // baca sinyal pulse setiap 10 milli second detachInterrupt(0); // non aktifkan interuptsi lcd.setCursor(0,0); // posisi penampilakn LCD lcd.print("count: "); lcd.print(count); // // tampilakan jumla counter sinyal output water flow oldTime = millis(); // update waktu internal count = 0; attachInterrupt(0,flow,FALLING); // aktifkan lagi interruptsi } } void flow(){ count++; // counter jika ada sinyal FALLING di pin 2 ( int0 ) }
Program di atas akan membaca sinyal output water flow setiap 10ms ( 1/100 detik ). Sinyal tadi akan di counter setiap ada perubahan ( FALLING ) pada kaki interrupt 0 ( INT0). Untuk Video Pengujian nya bisa di lihat pada video di bawah ini nanti nya ( coming soon insyallaah ).
Nah sekian dulu pembahasan kita tentang bagaimana membaca Water Flow Sensor dengan Arduino. Untuk menampilkan data nya di LCD kami menggunakan I2C LCD. Tutorial nya bisa di lihat pada Artike di bawah ini
Thanks
Baca Artikel Modul Pertamini, pom mini buatan mikroavr di bawah ini