كيفية عمل نظام رى ذاتى بإستخدام حساس soil

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

اولا الأدوات
arduino 
soil moisture sensor
wires
water pump 5v dc
حيث استخدمت الأردوينو للتحكم فى البيانات و التحكم فى الحساس
سنستخدم فى هذا التطبيق اردوينو اونو

هذا الحساس الذى يقوم بقياس الرطوبة حيث يعتمد على المقاومة فتصبح مقاومته كبيرة  عند عدم وجود رطوبة وتصبح مقاومته صغيره عند ارتفاع نسبة الرطوبة فى التربه
وهو يتكون من جزئين اساسيين الحساس والمحول الخاص به
حيث يأتى هذا الحساس بطرفين مثل هذا


حيث يخرج منه منفذان يتم توصيلهما مع المحول الخاص به 
ويخرج من المحول اربعة منافذ 
منفذ رقمى 
منفذ تماثلى
منفذ الطاقة 
منفذ السالب
كما تلاحظون الصورة الأتيه

بالنسبة لمضخة المياه فهى مناسبة للعمل مع الأردوينو حيث تعمل على 5 فولت 
وهى فعاله جدا للعمل مع الأردوينو وغير مكلفة حيث تكلفتها تساوى 120 جنيه مصرى

ثانيا التوصيلات :

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

ثالثا الكود :
الكود ليس معقد ابدا
حيث قمت بتعريف المنفذ الخاص بالحساس والمنفذ الخاص بالمضخة
وقمت بتعريف المنفذ الخاص بالمضة كخرج 
وقمت بإرسال صفر فولت الى المنفذ الخاص بالمضخة للتأكد من انه لا تعمل
ثم قمت بتعريف االمتغير وجعله يساوى قراءة الحساس التى تكون بين صفر الى 1023
valueSensor = analogRead(A0);
وقمت بعمل مساواة بين قراءة الحساس والنسبة المئوية 
فعندما تكون قراءة الحساس اقل قيمة هذا يدل على ان الرطوبة فى التربة مرتفعه مما يدل ايضا على ان نسبة المئوية ستكون 100%
اما اذا كانت قراءة الحساس مرتفعة تدل على قيمة الرطوبة فى التربة منخفضة جدا مما سيعطى نسبة مئوية اقل من 10 %
valueSensor = map(valueSensor,200,1023,100,0);
وقمت بعمل الكود الأتى لمنع النسبة من ان تتعدى 100 % وان لا تقل عن 0%
عن طريق
valueSensor = constrain(valueSensor,0,100);
ثم قمت بعمل مقارنات 
هل نسبة الرطوبة فى التربة اقل من 50 % 
قم بتشغيل المضخة 
هل نسبة الرطوبة فى التربة اكبر من 80 %
قم بإطفاء المضخة 
هذا هو الكود بكل اختصار 
لتحميل الكود اضغط هنا 
شاركونا فى التعليقات 

تصميم وبرمجة : بلال حسان سعدى

التعليقات