آردوینو پروژه های آردوینو

YF-S201 سنسور جریان آب آردوینو بخش اول

سنسور اندازه گری جریان آب yf-s201 همراه با آردوینو arduino-بخش اول
نوشته شده توسط علیرضا قربانی

اندازه‌گیری جریان آب به وسیله‌ی سنسور YF-S201 و آردوینو

مدیریت موثر آب، شامل تهیه‌ی آب با توجه به نیاز واقعی، و در نتیجه ی آن، سنجش آب، گامی بسیار مهم و اساسی در سیستم های مدیریت آب است. روش های بسیاری برای اندازه گیری جریان آب به علاوه انواع کنتورهای آب برای سنجش حجم جریان آب در خط لوله‌ها وجود دارد، اما همه ی اینها بیش از حد هزینه بر هستند. این مقاله ایده هایی را برای طراحی و توسعه ی کنتور های آبِ  خودکار کم هزینه؛ با کمک حسگر های جریان آب که به سادگی در دسترس هستند و ارزان قیمت هستند؛ در میان میگذارد. در ادامه‌ی آموزش با مرجع تخصصی آردوینو ، دیجی اسپارک همراه باشید.

سنسور جریان آب اثر هال YF-S201

اندازه گیری دقیق جریان آب ، یک گام ضروری از هر دو نقطه نظر شرایط اقتصادی و کیفی است. کنتور‌ها به عنوان دستگاه‌هایی عالی برای سنجش جریان آب، ثابت شده هستند؛ و اکنون بسیار ساده است تا یک سامانه‌ی مدیریت آب با استفاده از حسگر جریان آب  YF-S201 بسازیم. YF-S201 در خط عبوری آب قرار می‌گیرد و دارای یک حسگر چرخ دنده به منظور اندازه‌گیری میزان‌ آبی است که از درون آن عبور می‌کند. درون YF-S201  یک عدد سنسور مغناطیسی یکپارچه‌ی اثر هال وجود دارد که با  هر چرخش (‌دور ) یک پالس الکتریکی خارج می‌کند.

سنسور جریان آب yf-s201 اثر هال ، دارای سه سیم است :

  • قرمز / سیم تعذیه سنسور  (VCC ) . می‌توان آن را به ۵ الی ۲۴ ولت DC  متصل کرد.
  • مشکی / GND
  • زرد / خروحی سنسور (Pulse putput)

توسط شمارش پالس از خروجی حسگر، میتوانیم به آسانی، نرخ جریان آب را با استفاده یک فرمول تبدیل مناسب محاسبه کنیم.(در واحد لیتر بر ساعت L/hr ).

 

yf-s201

yf-s201

 

سنسور جریان آب YF-S201

سنسور جریان آب YF-S201

 

 

 

 

 

 

سخت افزار مورد نیاز

آردوینو UNO ( می‌توانید این بورد را از سایت دانشجوکیت خریداری نمایید و برای ۱۵ نفر اولی که کد CHWJQ1PT را در هنگام خرید وارد نمایند تخفیفی در نظر گرفته می‌شود )

سنسور اندازه‌گیری جریان آب YF-S201

 

 

 

مشخصات کلی سنسور جریان آب YF S201

  • اندازه‌گری جریان آب در محدود ۱ الی ۳۰ لیتر در دقیقه
  • دمای کاری منفی ۲۵ الی ۸۰ درجه سانتی گراد
  • محدوده رطوبت کاری ۳۵ الی ۹۰ درصد
  • فشار قابل تحمل :کمتر از ۱٫۷۵Mpa
  • ولتاژ کاری حداقل ۴٫۵ ولت DC الی ۲۵ ولت DC

 

 

سخت افزار و اتصالات

متصل کردن حسگر جریان آب به آردوینو، نیازمند حداقل اتصالات داخلی است. سیم های قرمز (VCC) و مشکی (GND) از حسگر جریان آب را به ۵v و Gnd آردوینو، متصل میکنیم و سیم پالس خروجی ( سیم زرد رنگ) را به پین دیجیتال شماره ۲ آردوینو متصل می‌کنیم. توجه داشته باشید که حسگر جریان آب ،تشنه‌ی قدرت نیست و تنها حداکثر ۱۵ الی ۲۰ میلی‌آمپر جریان در ولتاژ ۵ ولت از ورودی می‌کشد.

 

اتصال سنسور جریان آب به‌ آردوینو

اتصال سنسور جریان آب به‌ آردوینو

 

 

 

 

آماده سازی نرم افزاری

کدی که در زیر قرار دارد وقفه‌ی خارجی شماره‌ی صفری که بر روی پین شماره ۲ دیجیتال آردوینو UNO قرار دارد استفاده می‌کند. همانطور که گفته شد از پین شماره ۲ به منظور خواندن سیگنالی که از سنسور جریان آب خارح می‌شود استفاده می‌شود. به محضی که یک سیگنال بر روی پین شماره‌ی ۲ ظاهر شود ، برنامه در هرحایی که باشد متوقف می‌شود و بلافاصله تابع pulseCunter() صدا زده می‌شود. در این تابع تعداد پالس‌هایی که به پین شماره ۲ فرستاده می‌شود محاسبه می‌شود. بعد از محاسبه‌ی پالس ، برنامه دقیقا از همان جایی که متوقف شده بود ، شروع به ادامه‌ می‌کند.

 

اگر چیزی در مورد وقفه نمی‌دانید دو آموزش زیر را مطالعه کنید

آموزش وقفه بخش اول

آموزش وقفه بخش دوم

 

کد زیر را بر روی آردوینو خود آپلود کنید و نیجه را بر بر روی سریال مانیتور نرم افزار آردوینو خود مشاهده کنید.

volatile int flow_frequency; // اندازه گیری تعداد پالس ها
unsigned int l_hour; // محاسبه‌ی لیتر بر ساعت
unsigned char flowsensor = 2; // Sensor Input
unsigned long currentTime;
unsigned long cloopTime;
void flow() // تابع وقفه
{
	flow_frequency++;
}
void setup()
{
	pinMode(flowsensor, INPUT);
	digitalWrite(flowsensor, HIGH); // پین شماره ۲ به و وضعیت پول آپ تعریف می‌شود
	Serial.begin(9600);
	attachInterrupt(0, flow, RISING); // تنظیم وقفه و نسبت دادن تابع وقفه
	sei(); //فعال کردن وقفع
	currentTime = millis();
	cloopTime = currentTime;
}
void loop()
{
	currentTime = millis();
	// در هر ثانیه مقدار آب گذرنده از سنسور بر حسب لیتر بر ساعت محاسبه می شود
	if (currentTime >= (cloopTime + 1000))
	{
		cloopTime = currentTime; // Updates cloopTime
								 // Pulse frequency (Hz) = 7.5Q, Q is flow rate in L/min.
		l_hour = (flow_frequency * 60 / 7.5); // (Pulse frequency x 60 min) / 7.5Q = flowrate in L/hour
		flow_frequency = 0; // Reset Counter
		Serial.print(l_hour, DEC); // Print litres/hour
		Serial.println(" L/hour");
	}
}

 

تا این قسمت از آموزش به معرفی و اتصال سنسور به آردوینو پرداختیم. همچنین نمونه‌ برنامه‌ای برای تست در اختیار شما قرار گرفت که سنسور خود را تست کنید. ولی همانطور که مشاهده می‌کنید برای محاسبه‌ی مقدار جریان آب از یک سری عملیات ریاضی استفاده شده است که در بخش بعدی به توضیح آن‌ها می‌پردازیم.

 

برای ورود به بخش دوم این آموزش اینجا کلید کنید

 

 

درباره نویسنده

علیرضا قربانی

علیرضا قربانی هستم دانشجوی مهندسی پزشکی. چیزهای خیلی زیادی رو در دنیا دوست دارم. یک گیک هستم و یشه گفت یک هکر. نه به معنی دزدی پسورد و ایمیل مردم. به معنی عشق به دونستن و عشق به تحقیق درباره خیلی از چیزهایی که می بینم و می‌شنوم. اگر بخوام علاقه‌مندی‌ درجه یکم رو نام ببرم میتونم بگم برنامه نویسی و بعد از اون امبدد سیستم ها.

تبادل نظر و رفع عیب با ثبت دیدگاه

۸ دیدگاه

  • سلام من دنبال وسیله ای هستم که در مسیر جریان لوله آب ورودی به واحد آپارتمان قرار داده و میزان مصرف آب در هر واحد آپارتمانی را مشخص کنم . ضمنا جا برای نصب کنتور آب نداریم . ولی هر واحد فلکه ورودی آب دارد وفقط می نوانیم فلکه ورودی آب برداشته و بجای آن این وسیله یا سنسور را که میزان مصرف آب را تعیین می کن نصب کنیم . ممکنه راهنماییم کنید . آیا این کار عملی هست ؟

  • با سلام تلفنی با مسوول فنی تماس گرفتم
    اموزشهایی که دارید خیلی عالی است ولی کاربردی نیست صرفا اطلاعی است.
    مثل همین سنسور که مشخص نیست خروجی این کیت به چی وصل می شه ؟نحوه محاسبه اش چطوری ؟قطعاتش تو بازار هست یا نه؟ و یک کلیپ ۵ دقیقه ای از عملکرد مدار باشه.
    و اخر اینکه کیت اماده این و سایر اموزش ها اگر هست اعلام شود لطفا

  • با سلام خدمت شما دوست عزیز و تشکر بابت مطالب خوب ومفید شما
    جناب مهندس قربانی امکانش هست یک توضیحیم راجعبه این بدید که اگر ما نرخ کل اب مصرفی را در یک دوره ی زمانی خاص بخواهیم نحوه ی نوشن کد چه تغییری میکنه؟؟ .ممنون از توجه شما

    • با سلام و تشکر از توجه شما
      در حال حاضر نویسنده در دسترس نمی‌باشد. برای این موضوع باید فرمول مربوطه را وارد کدها کنید. منتظر باشید تا در خصوص انتشار آن اقدام شود.

  • با سلام خدمت شما و تشکر از سایت خوبتون و مطالب مفیدتون
    دوتا سوال داشتم :
    برای شروع به کارباسنسور YFS201 با اردوینو نیاز به کتابخانه اون داره که تو اردوینو بتونم اضافه کنم و نتونستم پیدا کنم ممنون میشم برام بزارین::”” با تشکر
    و اینکه یه سوال در باره برنامه نویسی اون : چجوری میشه دوتا برنامه نوشته شده جدا رو درباره یه سنسور باهم ادغام کرد ممنونم اگه جواب بدید
    منصوری

  • سلام
    در مورد این سنسور یه سوال دارم. وضعیت تویز پذیریش چطوریه؟ میدان مغناطیسی موتور الکتریکی یا جرقه های جاروبک ها تاثیر داره روی کار این سنسور؟ ممنون از شما