ماژول 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 }