موزع المياه التلقائي :

في الوقت الراهن نجد انفسنا نميل الى استخدام المياه بشكل عشوائي وبصرف النظر عن الكميات التي يتم اهدارها بشكل يومي رغم ان نسبة وجود المياه العذبة اصبحت ضئيلة جدا، ولكن ماذا لو نظرنا الى ان هذه المشكلة يمكن معالجتها بحلول تكنولوجية بسيطه تساعد في عملية توفير المياه للمستخدم . فكيف سيقدم لنا هذا المشروع (موزع المياه التلقائي ) مفهوم الفكرة ؟

قد لا يبدو الامر كبيرًا في المرة الأولى ، لكن إذا نقرت الصنبور على قطرة ماء مرة واحدة كل ثانية ، فلن يستغرق الأمر سوى حوالي خمس ساعات حتى تهدر جالون واحد من الماء ، وهذا يكفي لمياه الإنسان العادي للبقاء على قيد الحياة لمدة ساعتين . إذن ما الذي يمكن عمله لوقف هذا ؟ كما هو الحال دائمًا ، يكمن الجواب في تحسين التكنولوجيا . إذا استبدلنا جميع الصنابير اليدوية بلوحة ذكية تفتح وتغلق من تلقاء نفسها تلقائيًا ، لا يمكننا توفير المياه فحسب ، بل نتمتع أيضًا بنمط حياة صحي لأننا لسنا مضطرين لتشغيل الصنبور بأيدينا القذرة . لذلك في هذا المشروع ، سنقوم ببناء موزع مياه أوتوماتيكي باستخدام الاردوينو  وصمام ملف لولبي يمكن أن يمنحك المياه تلقائيًا عند وضع الزجاج بالقرب منه

طريقة عمل موزع المياه التلقائي وتوصيلة : 

مفهوم العمل :
المفهوم الكامن وراء موزع المياه الأوتوماتيكي بسيط للغاية . سوف نستخدم جهاز استشعار بالموجات فوق الصوتية HCSR04 للتحقق مما إذا كان أي شيء قد وضع مثل زجاجة الماء أمام الموزع . سيتم استخدام صمام الملف اللولبي للتحكم في تدفق الماء . لذلك سوف نكتب برنامج الاردوينو يتحقق دائمًا من وضع أي كائن بالقرب من الصنبور ، إذا كانت الإجابة بنعم ، فسيتم تشغيل الملف اللولبي والانتظار حتى تتم إزالة الكائن ، وبمجرد إزالة الكائن ، سيتم إيقاف تشغيل الملف اللولبي تلقائيًا وبالتالي إغلاق إمدادات المياه .

 

 

لادوات المستخدمه:

 

طريقة توصيل مشروع موزع المياه التلقائي:

 

الشيفرة البرمجية:

[sourcecode]

#define trigger 9
#define echo 8
#define LED 13
#define MOSFET 12

float time=0,distance=0;

void setup()
{
Serial.begin(9600);

 pinMode(trigger,OUTPUT);
pinMode(echo,INPUT);
pinMode(LED,OUTPUT);
pinMode(MOSFET,OUTPUT);

 delay(2000);
}

void loop()
{
measure_distance();

 if(distance<10)
{
digitalWrite(LED,HIGH);digitalWrite(MOSFET,HIGH);
}
else
{
digitalWrite(LED,LOW);digitalWrite(MOSFET,LOW);
}

 delay(500);
}

void measure_distance()
{
digitalWrite(trigger,LOW);
delayMicroseconds(2);
digitalWrite(trigger,HIGH);
delayMicroseconds(10);
digitalWrite(trigger,LOW);
delayMicroseconds(2);
time=pulseIn(echo,HIGH);

distance=time*340/20000;
}

[sourcecode/]

 

 

للمزيد من المعلومات حول المشروع انقر هنا

للحصول على المزيد من المقالات التقنية قم بزيارة موقعنا الالكتروني www.4atoms.com