إعداد نظام ريّ آليّ باستخدام الأردوينو وحسّاس قياس رطوبة التّربة

في هذا المشروع نستعرض نظام ريّ آليّ للنباتات يتحسّس رطوبة التّربة باستخدام الأردوينو Arduino UNO، حيث يقدِّر هذا النّظام رطوبة التّربة باستخدام حسّاس رطوبة تربة، ومن ثمّ يقوم بإدارة المحرِّك (مضخّة ماء) عندما تكون الرطوبة أدنى من مستوى محدَّد، وعندما يرتفع مستوى الرّطوبة فوق المستوى المحدَّد يعمَد النّظام إلى إيقاف المحرّك.

كما سيتمّ عرض حالة كلّ من: خزان الماء، والمحرك، ومستوى الرطوبة على شاشة رقميّة LCD بقياس 16×2.

أهداف المشروع

  • مراقبة رطوبة التّربة باستخدام حسّاس رطوبة تربة، ومراقبة مستوى الماء في الخزّان باستخدام حسّاس لمستوى الماء (Float switch).
  • تشغيل مضخّة الماء عندما تنخفض رطوبة التّربة عن مستوى محدّد إذا احتوى الخزّان على كميّة كافية من الماء.
  • عرض حالة التّربة والخزّان باستخدام شاشة LCD 16×12.

مخطط الدّارة

مخطّط دارة نظام ريّ آليّ باستخدام الأردوينو
مخطّط دارة نظام ريّ آليّ باستخدام الأردوينو

يُوجد على وحدة حسّاس رطوبة التّربة الذي سنستخدمه قطبيّ خَرْج (خَرْج رقميّ وخَرْج تماثليّ). تتمُّ مقارنة بيانات خَرْج مجسّ حسّاس الرّطوبة مع قيمة مرجعيّة باستخدام وحدة المقارنة lm393، ويمكن تغيير القيمة المرجعيّة عن طريق التّحكّم بالمقاومة المتغيِّرة في وحدة الحسّاس.

يُعطي قطب الخَرْج الرّقميّ خرجاً رقميّاً ذا قيمة 0 low عندما تكون التّربة رطبة.

في هذا المشروع سنستخدم الخَرْج التماثليّ من وحدة الحسّاس عن طريق توصيلها إلى أحد الأقطاب التماثليّة في لوحة الأردوينو، وعندما نستخدم الخَرْج التّماثليّ يمكن تحديد وتعديل قيمةِ اكتشاف الرّطوبة عن طريق البرنامج.

كما يُبيِّن مخطّط الدّارة: يتمّ وصل حسّاس مستوى السّائل إلى أحد الأقطاب التماثليّة على لوحة الأردوينو، ونستخدم مقاومة 1kΩ لتغذية الخطِّ. من الممكن أيضا أنْ نستخدمَ الأقطاب التماثليّة على لوحة الأردوينو كمداخل رقميّة.
تتمّ مراقبة حالة الخزّان عن طريق التّحقّق من خرج حسّاس مستوى السّائل، حيث يقرأ الأردوينو هبوط الجهد على المقاومة لتحسّس مستوى الماء في الخزّان.

يتمّ وصل ليدين (LED) إلى القطبين الثاني والثالث للأردوينو لعرض حالة الرّطوبة والخزّان على التوالي، ويتمّ وصل القطب الرّابع للأردوينو إلى قاعدة ترانزستور (BC547)، والذي يقوم بدوره بقيادة محرّك تيّار مستمرّ 12V.

يتم وصل شاشة LCD إلى الأردوينو باستخدام نمط 4-Bit، حيث يتمّ استخدام وحدة JHD162A في هذا المشروع : وهي عبارة عن وحدة شاشة LCD تعمل على أساس دارة القيادة HD44780 من شركة هيتاشي (Hitachi).
لدى هذه الوحدة ستة َعشرَ رِجْلاً، ويمكن أنْ تعمل َعلى نمط 4-bit (باستخدام أربعة خطوط بيانات فقط) أو بنمط 8-bit (باستخدام خطوط البيانات الثمانية كلهّا). يتمّ وصل كلٍّ من أقطاب التّحكّم Rs وRW وEn مباشرة إلى الأقطاب 13و GND و12 بالتّرتيب على لوحة الأردوينو، ويتمّ وصل أقطاب البيانات من D4 حتى D7 إلى الأقطاب 11 ،10 ،9 ،8 بالتّرتيب على لوحة الأردوينو.

الكود البرمجيّ: التحميل من هنا

في قسم البرمجة ولكي نسهل التواصل بين الأرديوينو ووحدة الشاشة الرقمية LCD، فإننا نستخدم المكتبة (LiquidCrystal.h) المضمَّنَة في الأردوينو، والتي تمَّتْ كتابتها للتعامل مع وحدات LCD التي تستخدم رقاقة التّحكّم HD44780 من شركة Hitachi (أو الرّقاقات المتوافقة معها).

يمكن أنْ تعملَ هذه المكتبة مع كِلاَ نمطي توصيل الشّاشة (نمطي 4-bit و8-bit). يتم إرسال البيانات عند استخدام نمط 4-bit باستخدام أربعة أقطاب بيانات وثلاثة أقطاب تحكّم.

يتمّ في هذا المشروع ربط القطب R/W إلى الأرضيّ دائما، وبالتّالي نحتاج إلى ستة أقطاب فقط في نمط 4-bit، خلال عملية الرّبط يتمّ تشغيل المكتبة أوّلا، ثمّ يتمّ تحديد الأقطاب باستخدام الأمر:
(LiquidCrystal lcd (RS,E,D4,D5,D6,D7 حيث يتمّ تعيين الأقطاب بهذا التّرتيب، كما يمكننا أنْ نرى هذا الأمرَ على الشّكل:
(LiquidCrystal lcd(13,12,11,10,9,8

هنا يتم وصل الأقطاب بالشّكل التّالي: قطب RS إلى 13، قطب EN إلى 12، القطب D4 إلى 11، القطب D5 إلى 10، القطب D6 إلى 9، والقطب D7 إلى 8 بالتّرتيب.

يقرأ الأردوينو خَرْج الحسّاس عبر أقطاب الدّخل التماثليّة باستخدام تابع القراءة   analogRead على سبيل المثال تقوم التّعليمة:
“(analogRead(moisture_sensorPin”
بتحويل الجهد (ضمن المجال من 0 إلى 5V) على القطب A0 إلى رقم (ضمن المجال من 0 إلى 1023)، تتمّ في هذه الحالة مقارنة الجهد على القطب A0 مع رقم محدَّد (avg_moisture) لتحديد حالة التّربة الحاليّة.

تتمّ مقارنة حالة حسّاس مستوى السّائل لتحديد مستوى الماء الحالي، واعتماداً على حالة كلّ من الحسّاسين يقوم المتحكّم بتشغيل وإطفاء المحرّك.

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

مقالات قد تهمك:

 

حساس رطوبة التربة

استخدام الراسبيري باي لقراءة خرج حساس رطوبة التّربة السعوي


المصدر : هنا
ترجمة: لؤي الديب ، مراجعة: علي العلي ، تدقيق لغويّ: رنيم العلي ، تصميم: وليد برهوم ، تحرير: كريم سلوم .