ماژول YF-B4 یک فلومتر مایعات که امکان اندازه گیری جریان مایعات تا حداکثر 25 لیتر بر ساعت را دارد . همچنین می توان از طریق دبی ، حجم مایعات را نیز محاسبه نمود . این ماژول از دو قسمت تشکیل شده است . قسمت اول شامل یک سنسور اثر هال و اتصالات می باشد ، این قسمت هیچگونه تماسی با مایع ندارد و حداکثر رطوبت کاری آن 95 درصد است . قسمت دوم شامل مسیر سیال می باشد . در این قسمت یک آهنربای پروانه ای وجود دارد که با چرخش آن سنسور اثر هال را تحریک میکند . خروجی این ماژول به صورت پالسی می باشد . راه اندازی و به کار گیری این ماژول بسیار راحت است و می توان آن را توسط آردوینو و یا هر MCU دیگری راه اندازی کرد . از این ماژول می توان در گلخانه ها ، سیستم ها مدیریت مصرف آب و… استفاده نمود . بدنه این ماژول فلزی می باشد لذا دارای مقاومت دمایی بالایی به نسبت سایر فلو متر ها است .
مشخصات :
- ولتاژ تغذیه 5 تا 15 ولت
- خروجی به صورت پالسی
- رطوبت کاری حداکثر تا 95 درصد (برای قسمت خارجی )
- رنج اندازه گیری 1 تا 25 لیتر برد دقیقه
- دمای مایع عبوری از ماژول 25- تا 125+ درجه سانتی گراد
- حداکثر فشار مایع عبوری از ماژول برابر 75MPa
- قطر ورودی و خروجی این ماژول 2/1 اینچ و به صورت ورودی نری و خروجی مادگی است
- داری سنسور دما برای اندازه گیری دمای سیال
خروجی های فلومتر YF-B4 :
این ماژول دارای سه سیم رنگی به شرح زیر است :
- سیم قرمز ولتاژ تغذیه
- سیم مشکی GND
- سیم زرد خروجی پالس
راه اندازی ماژول YF-B4 :
با اتصال تغذیه ماژول ، با عبور مایع از ماژول یک پالس با فرکانس کمتر از 100Hz است که با اندازه گیری این پالس می توان مقدار دبی را به دست آورد .
مطابق تصویر زیر پین های فلومتر را به آردوینو متصل کنید :
کد های پروژه :
int flowPin = 2; //This is the input pin on the Arduino
double flowRate; //This is the value we intend to calculate.
volatile int count; //This integer needs to be set as volatile to ensure it updates correctly during the interrupt process.
void setup() {
// put your setup code here, to run once:
pinMode(flowPin, INPUT); //Sets the pin as an input
attachInterrupt(0, Flow, RISING); //Configures interrupt 0 (pin 2 on the Arduino Uno) to run the function "Flow"
Serial.begin(9600); //Start Serial
}
void loop() {
// put your main code here, to run repeatedly:
count = 0; // Reset the counter so we start counting from 0 again
interrupts(); //Enables interrupts on the Arduino
delay (1000); //Wait 1 second
noInterrupts(); //Disable the interrupts on the Arduino
//Start the math
flowRate = (count * 2.25); //Take counted pulses in the last second and multiply by 2.25mL
flowRate = flowRate * 60; //Convert seconds to minutes, giving you mL / Minute
flowRate = flowRate / 1000; //Convert mL to Liters, giving you Liters / Minute
Serial.println(flowRate); //Print the variable flowRate to Serial
}
void Flow()
{
count++; //Every time this function is called, increment "count" by 1
}


