عندما نخرج من المدينة لبضعة أيام ، اعتدنا دائمًا على القلق بشأن نباتاتنا لأنها تحتاج إلى الماء بشكل منتظم. لذلك نحن هنا بصدد إنشاء نظام ري آلي للنباتات باستخدام Arduino ، والذي يوفر المياه تلقائيًا لنباتاتك ويبقيك على اطلاع دائم عن طريق إرسال رسالة إلى هاتفك الخلوي.
في نظام سقي النبات هذا ، يتحقق مستشعر رطوبة التربة من مستوى الرطوبة في التربة وإذا كان مستوى الرطوبة منخفضًا ، فسيقوم Arduino بتبديل مضخة المياه لتوفير المياه للنبات. يتم إيقاف تشغيل مضخة المياه تلقائيًا عندما يجد النظام رطوبة كافية في التربة. عندما يتم تشغيل أو إيقاف تشغيل النظام للمضخة ، يتم إرسال رسالة إلى المستخدم عبر وحدة GSM لتحديث حالة مضخة المياه ورطوبة التربة. هذا النظام مفيد جدًا في المزارع والحدائق والمنزل وما إلى ذلك. هذا النظام مؤتمت بالكامل وليس هناك حاجة لأي تدخل بشري.
المكونات المطلوبة لمشروع نظام ري نباتات الأردوينو
- اردوينو اونو
- وحدة GSM
- الترانزستور BC547 (2)
- توصيل الأسلاك
- 16x2 LCD (اختياري)
- مزود الطاقة 12 فولت 1 أمبير
- تتابع 12 فولت
- مضخة تبريد المياه
- مستشعر رطوبة التربة
- المقاومات (1 ك ، 10 ك)
- مقاومة متغيرة (10 كيلو ، 100 كيلو)
- موصل طرفي
- منظم الجهد IC LM317
وحدة GSM:
هنا استخدمنا وحدة TTL SIM800 GSM. SIM800 عبارة عن وحدة GSM / GPRS رباعية الموجات كاملة يمكن دمجها بسهولة بواسطة العميل أو الهواة. توفر وحدة SIM900 GSM واجهة قياسية في الصناعة ؛ يوفر SIM800 أداء GSM / GPRS 850/900/1800/1900 ميجاهرتز للصوت والرسائل القصيرة والبيانات مع استهلاك منخفض للطاقة. تصميم وحدة SIM800 GSM هذه نحيف ومضغوط. إنه متاح بسهولة في السوق أو عبر الإنترنت من eBay.
- وحدة GSM / GPRS رباعية الموجات بحجم صغير.
- تمكين GPRS
- إخراج TTL
تعرف على المزيد حول أوامر GSM وأوامر AT هنا. تحقق أيضًا من مشاريعنا المختلفة باستخدام GSM و Arduino لفهم واجهاتها بشكل صحيح.
شرح الدائرة:
في نظام ري النبات هذا ، استخدمنا مسبار مستشعر رطوبة التربة محلي الصنع لاستشعار مستوى رطوبة التربة. لعمل مسبار ، قمنا بقص لوح نحاسي وحفره وفقًا للصورة الموضحة أدناه. يرتبط أحد جوانب المسبار مباشرة بـ Vcc وتذهب محطة المسبار الأخرى إلى قاعدة الترانزستور BC547. يتم توصيل مقياس الجهد بقاعدة الترانزستور لضبط حساسية المستشعر.
يستخدم Arduino للتحكم في عملية نظام ري النبات الأوتوماتيكي بالكامل. يتم توصيل خرج دائرة مستشعر التربة مباشرة بالدبوس الرقمي D7 في Arduino. يتم استخدام LED في دائرة المستشعر ، وتشير حالة LED الخاصة بهذا المؤشر إلى وجود رطوبة في التربة وتشير حالة OFF إلى غياب الرطوبة في التربة.
تستخدم وحدة GSM لإرسال الرسائل القصيرة للمستخدم. استخدمنا هنا وحدة TTL SIM800 GSM ، والتي تعطي وتأخذ منطق TTL مباشرة (يمكن للمستخدم استخدام أي وحدة GSM). A LM317 الجهد المنظم يستخدم لتشغيل وحدة SIM800 GSM. LM317 حساس جدًا لتصنيف الجهد ويوصى بقراءة ورقة البيانات الخاصة به قبل الاستخدام. معدل جهد التشغيل هو 3.8 فولت إلى 4.2 فولت (يرجى تفضيل 3.8 فولت لتشغيله). يوجد أدناه مخطط دائرة إمداد الطاقة المعطى لوحدة TTL sim800 GSM:
إذا أراد المستخدم استخدام وحدة SIM900 TTL ، فعليه استخدام 5 فولت وإذا كان المستخدم يريد استخدام وحدة SIM900 ، فقم بتطبيق 12 فولت في فتحة DC Jack باللوحة.
A 12V تتابع يستخدم للسيطرة على 220VAC مضخة المياه الصغيرة. يتم تشغيل التتابع بواسطة ترانزستور BC547 والذي يتم توصيله أيضًا بالدبوس الرقمي 11 في Arduino.
تُستخدم شاشة LCD اختيارية أيضًا لعرض الحالة والرسائل. يتم توصيل دبابيس التحكم في شاشات LCD و RS و EN بالدبوس 14 و 15 من Arduino ، كما أن دبابيس البيانات الخاصة بشاشات LCD D4-D7 متصلة مباشرة عند الطرف 16 و 17 و 18 و 19 من Arduino. تُستخدم شاشة LCD في وضع 4 بت ويتم تشغيلها بواسطة مكتبة LCD المدمجة في Arduino.
يوجد أدناه مخطط الدائرة لنظام الري هذا باستخدام مستشعر اردوينو ورطوبة التربة:
شرح العمل:
إن عمل نظام ري النبات الأوتوماتيكي بسيط للغاية. بادئ ذي بدء ، إنه نظام مؤتمت بالكامل وليس هناك حاجة للقوى العاملة للتحكم في النظام. يستخدم Arduino للتحكم في العملية بأكملها ويتم استخدام وحدة GSM لإرسال رسائل تنبيه للمستخدم على هاتفه المحمول.
في حالة وجود رطوبة في التربة ، يكون هناك توصيل بين مجسات مستشعر رطوبة التربة وبسبب هذا التوصيل ، يظل الترانزستور Q2 في حالة التشغيل / التشغيل ويظل Arduino Pin D7 منخفضًا. عندما يقرأ Arduino إشارة منخفضة في D7 ، فإنه يرسل رسالة نصية قصيرة إلى المستخدم حول "رطوبة التربة طبيعية. تم إيقاف تشغيل المحرك "وتظل مضخة المياه في وضع إيقاف التشغيل.
الآن إذا لم تكن هناك رطوبة في التربة ، فسيصبح الترانزستور Q2 متوقفًا ويصبح Pin D7 مرتفعًا. ثم يقرأ Arduino الدبوس D7 ويقوم بتشغيل محرك الماء ويرسل أيضًا رسالة إلى المستخدم حول "اكتشاف رطوبة التربة المنخفضة. تم تشغيل المحرك ". سيتم إيقاف تشغيل المحرك تلقائيًا عند وجود رطوبة كافية في التربة. تحقق كذلك من الفيديو التوضيحي والرمز (المقدم في النهاية) لفهم عملية عمل المشروع بشكل أفضل.
شرح البرمجة:
رمز هذا البرنامج مفهوم بسهولة. بادئ ذي بدء ، قمنا بتضمين مكتبة SoftwareSerial لجعل الدبوس 2 و 3 مثل Rx & Tx وقمنا أيضًا بتضمين LiquidCrystal لشاشات الكريستال السائل. ثم حددنا بعض المتغيرات للمحرك ، ومستشعر رطوبة التربة ، ومصباح LED ، إلخ.
#تضمن
ثم في وظيفة الإعداد الفارغ () ، تتم تهيئة الاتصال التسلسلي بسرعة 9600 بت في الثانية ويتم إعطاء الاتجاهات إلى الدبابيس المختلفة. يتم استدعاء وظيفة gsmInit لتهيئة وحدة GSM.
Serial1.begin (9600) ؛ Serial.begin (9600) ؛ pinMode (الصمام ، الإخراج) ؛ pinMode (المحرك ، الإخراج) ؛ pinMode (مستشعر ، INPUT_PULLUP) ؛ lcd.print ("Water Irrigaton") ؛ lcd.setCursor (4،1) ؛ تأخير (2000) ؛ lcd.clear () ؛ lcd.print ("ملخص الدائرة") ؛ lcd.setCursor (0،1) ؛ lcd.print ("ترحب بكم") ؛ تأخير (2000) ؛ gsmInit () ،
ثم تتم قراءة المستشعر في وظيفة الحلقة الفارغة () ، ويتم تشغيل المحرك أو إيقاف تشغيله وفقًا لحالة المستشعر ويتم أيضًا إرسال رسالة SMS إلى المستخدم باستخدام وظيفة sendSMS . تحقق من الوظائف المختلفة في الكود الكامل المعطى في النهاية.
حلقة باطلة () {lcd.setCursor (0،0) ، lcd.print ("الوضع التلقائي") ؛ if (digitalRead (sensor) == 1 && flag == 0) {delay (1000) ؛ if (digitalRead (sensor) == 1) {digitalWrite (led، HIGH) ؛ sendSMS ("تم اكتشاف رطوبة التربة المنخفضة. المحرك قيد التشغيل") ؛ lcd.begin (16.2) ؛ lcd.setCursor (0،1) ؛…………….
هنا تعتبر وظيفة gsmInit () مهمة ويجد المستخدمون في الغالب صعوبة في تعيينها بشكل صحيح. يتم استخدامه لتهيئة وحدة GSM ، حيث يتم أولاً فحص وحدة GSM سواء كانت متصلة أم لا عن طريق إرسال أمر "AT" إلى وحدة GSM. إذا تم تلقي الرد "موافق" ، فهذا يعني أنه جاهز. يستمر النظام في التحقق من الوحدة حتى تصبح جاهزة أو حتى يتم استلام "موافق". ثم يتم إيقاف تشغيل ECHO عن طريق إرسال الأمر ATE0 ، وإلا فإن وحدة GSM ستكرر جميع الأوامر. ثم يتم التحقق أخيرًا من توفر الشبكة من خلال "AT + CPIN؟" الأمر ، إذا كانت البطاقة المُدخلة عبارة عن بطاقة SIM وكان رقم التعريف الشخصي موجودًا ، فإنه يعطي الرد جاهزًا. يتم أيضًا التحقق من هذا بشكل متكرر حتى يتم العثور على الشبكة. يمكن فهم ذلك بوضوح من خلال الفيديو أدناه.
باطل gsmInit () {lcd.clear () ؛ lcd.print ("البحث عن وحدة..") ؛ منطقية at_flag = 1 ؛ while (at_flag) {Serial1.println ("AT") ؛ while (Serial1.available ()> 0) {if (Serial1.find ("OK")) at_flag = 0 ؛ } تأخير (1000)؛ }……………….
لذلك مع نظام الري التلقائي هذا ، لا داعي للقلق بشأن نباتاتك عندما تكون بعيدًا عن منزلك. يمكن تحسينه بشكل أكبر ليتم تشغيله ومراقبته عبر الإنترنت.