رباتیک و هوافضا

اندازه گیری سطح آب و کنترل آن با آردوینو

اندازه گیری سطح آب و کنترل آن با آردوینو

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

 

قطعات مورد نیاز

آردوینو یونو

سنسور اولترا سونیک

ال سی دی ۱۶×۲

رله ی ۶ ولتی

ULN2003

۷۸۰۶

PVT

سیم مسی

باتری ۹ ولتی یا آداپتور ۱۲ ولتی

سیم برد بودر

 

 

ماژول التراسونیک

اندازه گیری سطح آب و کنترل آن با آردوینو

سنسور آلتراسونیک HC-SR04 برای محاسبه ی فاصله ی  ۲ سانتی متر تا ۴۰۰ سانتی متر با دقت سه میلیمتر استفاده می شود که شامل یک فرستنده و یک گیرنده و مدار کنترل است.این سنسور موجی با فرکانس ۴۰ کیلوهرتز را ساتع می کند و با استفاده از فرمول زیر میتوان به راحتی فاصله را محاسبه کرد.

بیشتر بخوانید...  ساخت ساعت هشدار دهنده با استفاده از رزبری پای

Distance= (time x speed)/2

 

اندازه گیری سطح آب و کنترل آن با آردوینو

شیوه ی کار

با توجه به فرمول بالا و اینکه سرعت صوت ۳۴۰ متر بر ثانیه است ، با استفاده از سنسور آلتراسونیک به راحتی می توان سطح مایع را محاسبه کرد و با توجه به داشتن اندازه های مخزن آب می توان مقدار پر بودن یا خالی بودن را بر اساس درصد محاسبه کرد.

اندازه گیری سطح آب و کنترل آن با آردوینو

شماتیک مدار

همانطور که از شماتیک قابل مشاهده است پین های TRIGGER  و ECHO  سنسور آلتراسونیک به طورمستقیم به پین های ۱۰ و ۱۱ آردوینو متصل شده است. ال سی دی نیز به حالت ۴ بیت متصل شده است. پین های کنترل RS و RW  و EN نیز به طور مستقیم به پین های ۷ و GND و ۶ متصل شده اند. از ULN2003 نیز برای خاموش و روشن کردن پمپ آب استفاده می شود که به پین ۸ آردوینو متصل است.  از یک رگولاتور ۷۸۰۵ نیز برای تهیه ی ولتاژ ۵ ولت برای رله استفاده می شود.

 

در این مدار سنسور آلتراسونیک در بالای مخزن آب قرار میگیرد و بر روی ال سی دی مقدار سطح آب را نشان می دهد و هنگامی که فاصله بین آب و سنسور به ۳۰ سانتی متر رسید واتر پمپ روشن می شود . اگر که سطح آب به ۱۲ سانتی متری رسید بازر شروع به صدا دادن می کند.

بیشتر بخوانید...  پروژه ی ساخت محافظ باتری با استفاده از آردوینو

کد پروژه:

دانلود فایل
#include <LiquidCrystal.h>
 
#define trigger 10
#define echo 11
#define motor 8
#define buzzer 12
 
LiquidCrystal lcd(7,6,5,4,3,2);
 
float time=0,distance=0;
int temp=0; 
void setup()
{
 lcd.begin(16,2);
 pinMode(trigger,OUTPUT);
 pinMode(echo,INPUT);
 pinMode(motor, OUTPUT);
 pinMode(buzzer, OUTPUT);
 lcd.print("  Water Level ");
 lcd.setCursor(0,1);
 lcd.print("   Indicator  ");
 delay(2000);
}
 
void loop()
{
 lcd.clear();
 digitalWrite(trigger,LOW);
 delayMicroseconds(2);
 digitalWrite(trigger,HIGH);
 delayMicroseconds(10);
 digitalWrite(trigger,LOW);
 delayMicroseconds(2);
 time=pulseIn(echo,HIGH);
 distance=time*340/20000;
 lcd.clear();
 lcd.print("Water Space In  ");
 lcd.setCursor(0,1);
 lcd.print("Tank is: ");
 lcd.print(distance);
 lcd.print("Cm");
 delay(2000);
 if(distance<12 && temp==0)
 {
     digitalWrite(motor, LOW);
     digitalWrite(buzzer, HIGH);
     lcd.clear();
     lcd.print("Water Tank Full ");
     lcd.setCursor(0,1);
     lcd.print("Motor Turned OFF");
     delay(2000);
     digitalWrite(buzzer, LOW);
     delay(3000);
     temp=1;
 }
 
  else if(distance<12 && temp==1)
 {
     digitalWrite(motor, LOW);
     lcd.clear();
     lcd.print("Water Tank Full ");
     lcd.setCursor(0,1);
     lcd.print("Motor Turned OFF");
     delay(5000);
 }
 
 else if(distance>30)
 {
   digitalWrite(motor, HIGH);
   lcd.clear();
   lcd.print("LOW Water Level");
   lcd.setCursor(0,1);
   lcd.print("Motor Turned ON");
   delay(5000);
   temp=0;
 }
}

 

دیدگاه‌ها (0)

*
*