Rangkaian Pengukur Aliran Air Digital Sederhana menggunakan Arduino

Coba Instrumen Kami Untuk Menghilangkan Masalah





Pada postingan kali ini kita akan membuat pengukur aliran air digital dengan menggunakan Arduino dan layar LCD 16 x 2. Kita akan melihat sensor aliran air YF-S201, konstruksinya dan cara kerjanya serta cara berinteraksi dengan Arduino untuk mengekstrak beberapa bacaan yang berguna.

Proyek yang diusulkan dapat mengukur laju aliran air dalam liter / menit dan total aliran air dalam liter.



Mari kita lihat sensor aliran air YF-S201.

Ilustrasi YF-S201:

YF-S201 adalah Berbasis Hall Effect sensor air. Ini memiliki tiga terminal 5V (tegangan kerja nominal), GND dan output. + 5V adalah kabel berwarna merah, yang hitam adalah GND dan kuning adalah output.



Sensor memberikan frekuensi yang berbanding lurus dengan aliran air. Sensor YF-S201 dapat mengukur dari 1 liter / menit hingga 30 liter / menit. Tekanan air harus kurang dari atau sama dengan 1,75 MPa.

Air dapat disuntikkan dari satu ujung dan air mengalir melalui ujung lainnya.

Sensor dapat ditempatkan setelah katup gerbang utama tangki jika Anda ingin mengukur aliran air dalam jaringan pipa air atau Anda dapat meletakkannya tepat sebelum keran air untuk mengukur aliran air dari satu keran.

Penempatan sensor bisa dimana saja sesuai dengan kebutuhan pengguna tetapi harus berhati-hati untuk menghindari kebocoran air.

Sensor memiliki a magnet dan sensor Efek Hall Jika kita melihat dari sisi sensor aliran air, kita bisa menyaksikan turbin plastik di jalur aliran air.

Sebuah magnet berbentuk bulat tertanam di tengah turbin dan sensor Hall Effect disegel dan dilindungi dari kelembaban dan ditempatkan di atas magnet. Sensor Hall Effect menghasilkan pulsa untuk setiap putaran turbin.

Bentuk Gelombang Aliran Air pada Serial Plotter

Kita dapat melihat pulsa yang dihasilkan oleh sensor aliran air pada plotter serial IDE arduino, ditunjukkan di bawah ini (Menggunakan Arduino Single channel Oscilloscope).

Kami telah menghembuskan udara melalui sensor ke putar turbin sebagai tes dan bentuk gelombang yang dihasilkan ditunjukkan di atas. Bentuk gelombang yang lebih padat di sisi kiri menunjukkan frekuensi yang lebih tinggi dan putaran turbin yang lebih cepat, bentuk gelombang yang lebih rapat di sisi kanan menandakan sebaliknya.

Aliran air yang konsisten memberikan keluaran frekuensi yang konsisten.

Kita harus ubah frekuensi ke dalam skala liter / menit. Untuk melakukan ini, pabrikan telah memberikan rumus:

Laju aliran air (liter / menit) = frekuensi / 7,5

Jadi, kita perlu mengukur frekuensi yang dihasilkan dan menerapkan rumus di atas dalam kode program.

Spesifikasi Teknik YF-S201:

· Akurasi: +/- 10%, jika Anda membutuhkan presisi yang lebih baik, kami perlu mengkalibrasi.

· Suhu Kerja: -25 sampai + 80 derajat Celcius.

· Kelembaban kerja: 35% sampai 80% RH.

· Siklus tugas keluaran: 50% +/- 10%.

· Tekanan air maksimum: 1,75 MPa.

· Pulsa per Liter: 450.

· Penarikan arus maksimum: 15 mA pada 5V

Itu menyimpulkan sensor aliran air YF-S201.

Sekarang mari beralih ke skema.

Diagram skematik:

Pin keluaran sensor aliran air terhubung ke A0 dari Arduino. Menggunakan Potensiometer 10K untuk mengatur kontras tampilan. Hubungkan Arduino dan layar LCD sesuai diagram di atas.

Kode Program:

//-----Program Developed by R.Girish-----//
#include
LiquidCrystal lcd(12, 11, 5, 4, 3, 2)
int X
int Y
float Time = 0
float frequency = 0
float waterFlow = 0
float total = 0
float LS = 0
const int input = A0
const int test = 9
void setup()
{
Serial.begin(9600)
lcd.begin(16, 2)
lcd.clear()
lcd.setCursor(0,0)
lcd.print('Water Flow Meter')
lcd.setCursor(0,1)
lcd.print('****************')
delay(2000)
pinMode(input,INPUT)
pinMode(test, OUTPUT)
analogWrite(test,100)
}
void loop()
{
X = pulseIn(input, HIGH)
Y = pulseIn(input, LOW)
Time = X + Y
frequency = 1000000/Time
waterFlow = frequency/7.5
LS = waterFlow/60
if(frequency >= 0)
{
if(isinf(frequency))
{
lcd.clear()
lcd.setCursor(0,0)
lcd.print('L/Min: 0.00')
lcd.setCursor(0,1)
lcd.print('Total: ')
lcd.print(total)
lcd.print(' L')
}
else
{
total = total + LS
Serial.println(frequency)
lcd.clear()
lcd.setCursor(0,0)
lcd.print('L/Min: ')
lcd.print(waterFlow)
lcd.setCursor(0,1)
lcd.print('Total: ')
lcd.print(total)
lcd.print(' L')
}
}
delay(1000)
}
//-----Program Developed by R.Girish-----//

Prototipe Penulis:

'L / Min' menunjukkan laju aliran air saat ini dan 'Total' menunjukkan total air yang mengalir sejak sirkuit DIAKTIFKAN.

Anda juga dapat mengalirkan cairan apa pun yang nilai viskositasnya mendekati air.

Jika Anda memiliki pertanyaan tentang pengukur aliran air digital ini menggunakan Arduino, silakan ungkapkan di bagian komentar, Anda dapat menerima balasan cepat.




Sepasang: Joystick Mengendalikan Mobil RC 2.4 GHz Menggunakan Arduino Selanjutnya: Buat Konverter Buck ini Menggunakan Arduino