نظام رى زراعى متكامل بإستخدام الأردوينو

1

 بسم الله الرحمن الرحيم

تعد الزراعه من احد اهم الوظائف والتى يجب ان تتأثر بالنهضة التكنولوجية لكى يتم تحسين جودة المحاصيل الزراعية 

وتحسين طرق الرى لتوفير المياه عن طريق تحديد كمية المياه المحددة التى تحتاجها التربه وتحسين طرق الزراعه لتسهيل الزراعه على الفلاح من حيث أن يتم رى الارض بطريقه إليه دون حاجه المزارع بأن يروى أرضه بنفسه


سنقوم اليوم بتصميم نظام متكامل يقوم برى الأراضى الزراعية 


أولا الأدوات :

Arduino uno

soil sensor

dht11 sensor

gsm board

transistor pnp

power supply 24 volt dc

contactor

lcd

Arduino uno

المتحكم الدقيق الذى سنستخدمه فى معالجة البيانات

soil sensor

حساس الرطوبة الذى سنقيس به رطوبة الأرض 
الزراعية

dht11 sensor

حساس الحرارة الذى سيقوم بقياس حرارة المكان

gsm board

شريحة الإتصال التى سنقوم بإرسال الرسائل او استلامها


transistor pnp

الترانزيستور الذى سنتحكم به بتشغيل او إيقاف الكونتاكتور



power supply 24 volt dc

مصدر الجهد الذى سنتحكم به عن طريق الترانزستور لتشغيل او إيقاف الكونتاكتور


contactor

الكونتاكتور هو عبارة عن ريلاى ولكن انه يتميز بأنه يستطيع ان يتحمل جهد قد يصل الى 600 فولت ويتحمل اكتر من 30 امبير

واشهر الأنواع يمكن التحكم فى تشغليها او ايقافها عن طريق 24 فولت dc



lcd
شاشة البيانات التى سنعرض عليها نسبة الحرارة ورطوبة الأرض




ولتصميم مصدر الجهد الخاص بالأردوينو لقد قمنا من قبل بتصميم مخطط لعمل تقويم الجهد من 220 فولت ac الى 5 فولت dc لتغذية الأردوينو والحساسات
للإطلاع عليه اضغط هنا


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


التوصيلات الموضحة فى الأعلى :
حساس الرطوبة : يحتوى هذا الحساس على 3 منافذ منفذ الطاقة 5 فولت
ومنفذ السالب 
ومنفذ الإشارة A0
حساس DHT11 : يحتوى على 3 منافذ
منفذ الطاقة 5 فولت
منفذ السالب
ومنفذ الإشارة 10
شريحة GSM : يحتوى على 4 منافذ
منفذ الطاقة 5 فولت
منفذ السالب
منفذ TX :  12
منفذ RX : 11
شاشة LCD :
gnd : gnd
vcc : 5v
vo : gnd
rs : 7
rw : gnd
E : 6 
d4 : 5
d5 : 4
d6 : 3
d7 : 2
LEDA : 5v
LEDC : gnd throug resistor 330 ohm
TRANSISTOR :
COLLECTOR : + OF 24 VOLT DC ADAPTER
EMITER : + CONTACTOR
BASE : ARDUINO UNO 9 DIGITAL PIN

 يتم توصيل الكونتاكتور بمصدر 3 فاز كما هو موضح بالأعلى ثم توصيل الطرف الأخر من الكونتاكتور بالمضخة
غالبا ما يتم استخدام OVER LOAD لحماية المضخة من ارتفاع التيار 
ولكنه غير ضرورى جدا

ثالثا الكود : 



#include <TroykaDHT.h>
#include <SoftwareSerial.h>
#include <LiquidCrystal.h>

LiquidCrystal lcd(7,6,5,4,3,2);
SoftwareSerial sgsm(11,12);//for gsm module
DHT dht(10, DHT11);

int sen = A0;
int solval = 0;
int temval = 0;
int trans = 9;
void setup() {
  dht.begin();
  sgsm.begin(9600);
  lcd.begin(16,2);
  lcd.print("Smart Arabic");
  lcd.setCursor(1,0);
  lcd.print("Projects");
  delay(150);
  lcd.clear();
  sgsm.print("AT");  
  delay(100);
  sgsm.print("AT+CNMI=2,2,0,0,0\r"); 
  delay(100);
  pinMode(trans,OUTPUT);
  digitalWrite(trans,0);
}

void loop() {
  solval = analogRead(A0);
  temval = dht.getTemperatureC();
  if(sgsm.available()){
    sgsm.print("AT+CNMI=2,2,0,0,0\r"); 
    String data = sgsm.readString();
    data.trim();
    if(data.indexOf("send")>=0){
      send_data();
    }
     if(data.indexOf("turnON")>=0){
      control_pump_on();
    }
    if(data.indexOf("turnOFF")>=0){
      control_pump_off();
    }
  }
  print_data_lcd();
  if(solval<900){
     control_pump_off();
  }
}
void send_data(){
  sgsm.write("AT");
  delay(100);
  sgsm.write("AT+CMGF=1");
  delay(100);
  sgsm.write("data is : temp : ");
  sgsm.write(temval);
  sgsm.write("soil : ");
  sgsm.write(solval);
  sgsm.write(0x1A);
}

void print_data_lcd(){
  lcd.clear();
  lcd.setCursor(0,0);
  lcd.print("temp : ");
  lcd.print(temval);
  lcd.setCursor(0,1);
  lcd.print("soil : ");
  lcd.print(solval);
}

void control_pump_on(){
  digitalWrite(trans,1);
}

void control_pump_off(){
  digitalWrite(trans,0);
}


شرح الكود

 المكتبات التى استخدمناها فى هذا الكود 

#include <TroykaDHT.h>
مكتبة التعامل مع حساس dht
#include <SoftwareSerial.h>
مكتبة التعامل مع بروتوكول uart
#include <LiquidCrystal.h>
مكتبة التعامل مع شاشات lcd

LiquidCrystal lcd(7,6,5,4,3,2);
منافذ الشاشة 
SoftwareSerial sgsm(11,12);//for gsm module
منافذ tx و rx الخاصه بشريحة gsm
DHT dht(10, DHT11);
منفذ الخاص بحساس dht 11 ونوع الحساس المستخدم 

  sgsm.print("AT+CNMI=2,2,0,0,0\r"); 
تأهيل شريحة gsm لوضع استلام الرسائل
    String data = sgsm.readString();
قراءة ما تم ارساله من قبل المستخدم ووضعه فى المتغير

  if(data.indexOf("send")>=0){
     send_data();
    }
اذا ما تم ارسال كلمة send يتم ارسال البيانات الخاصة بالحساسات 
وهكذا مع باقى الشروط 
ثم طباعه البيانات على شاشة lcd 

لتحميل الكود اضغط هنا


بعد الانتهاء من الشرح سنتطرق إلى انسب طريقة رى يمكن تطبيقها مع هذه الفكرة

الرى بالرش :

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

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



التعليقات