Smart Irrigation System

Students Projects

Electronics

Arduino

Smart Irrigation System

Smart Irrigation System

Created By

  • Tusham Agarwal

    Tusham Agarwal

    My name is Tusham. I am extremely interested in making new codes every day and I have made a lot of projects here at Mechatron Robotics. I have learnt a lot here and developed my skills and I hope to make my parents proud by excelling in the Robotics field.

About This Project

Smart Irrigation System water the plant whenever the soil is dry and if we want more water we can do it by sitting in chair because the Bluetooth in the project connects with the system with the help of the app. After connecting you can check the status of the soil and pump the water and turn it off again.

I decided this to make it because in India specially farmer sometimes put more or less water in the crop and the outcome does not come perfectly. This leads to a loss and ultimately they suicide. So, this project helps to put accurate amount of water.

We have made our own soil moisture sensor which collects the moisture in the soil from 0 to 1023. If the moisture value is less than 200 it automatically pumps water in the soil. One more thing is that it takes solar energy to charge

Here we have use Arduino uno but in large farms you can use Arduiono mega and optocoupler.

Components Required

  • Arduino UNO
  • HC-05 Bluetooth Module
  • DF Robot Solar Power Manager
  • 1N4007-High Voltage ,High Current Rated Diode
  • 9V generic Battery
  • Water Pump

SCHEMATICS

In this image all the components with the connections are given

Smart Irrigation System

Code Of Project

const int motor = 13;
const int soilin = A0;
int sensorValue = 0;
char bt;
const int limit = 200;

void setup()
{
  Serial.begin(9600);
  pinMode(motor, OUTPUT);
  pinMode(soilin, INPUT);
}

void loop()
{
  sensorValue = analogRead(soilin);
  
  if (sensorValue < limit)
  {
    digitalWrite (motor, HIGH);
    delay(1000);
    digitalWrite (motor, LOW);
  }
  
  while (Serial.available()>0)
  {
    bt=Serial.read();
    delay(20);
    if (bt=='2')
    {
      Serial.println (sensorValue);
    }
    else if (bt=='1')
    {
      digitalWrite (motor, HIGH);
    }
    else if (bt=='0')
    {
      digitalWrite (motor, LOW);
    }
  }
}
Share