Smart Irrigation System using Arduino

Smart Irrigation System using Arduino

Welcome to the Techatronic, In this article, we will share with you how to make a smart irrigation system using Arduino. this is a very popular project nowadays. if you are searching for the project you are in the right place. you will learn a lot of things in this article regarding smart irrigation system. it is actually a precision automatic watering system for the plant which automatically watering the plant without your engagement with the system. this is made up of Arduino which can easily make by the nontechnical persons also so it is the Arduino irrigation system this system is using in gardens and farms widely. So many of the students searching this project over the internet. the smart irrigation system is not using only the garden and farms it is implementing into the crops and smart greenhouse also. we are having the more Arduino projects also you can see this awesome Bluetooth Rc car project.

smart irrigation system

How does it work?

As we are using a soil moisture sensor that senses the moisture content in the soil. and send this data to the Arduino that we are using. Soil moisture sensors can send data in both. in analog as well as in digital. so we are using the analog data here to get the accuracy in the project. we insert the soil moisture sensor in the soil and connected it to the Arduino and the sensor sends the data to the Arduino about the moisture inside the soil. then the Arduino will get the action on the data. according to the condition given in the program. if the soil moisture sensor detects no moisture or very less moisture then the pump will get started and watering the plants.

I would like to mention too that this is an advanced version of the smart irrigation system which recognize the less moisture contain soil into the various field. in this project, the water pipe is connected to the servo motor which rotates according to the requirement. if there are two crops A & B. and if A having less amount of moisture then the servo motor rotates toward the crop A. and starts the watering and when it will fill up it will rotate towards the crop B. this is one more benefit of this project.

Smart irrigation system Components required:-

  • Arduino Uno
  • Servo motor
  • Soil moisture sensor
  • mini water pump
  • jumper wires.
  • Relay module
  • Breadboard

Right now a framework, we took a soil moisture sensor that can detect the Moisture in the soil. Soil moisture sensor gives some an incentive to the microcontroller which we use in the framework for directions.  we prescribe utilizing the simple worth. since on the simple worth, you can adjust the dampness level with the yield gadget. for instance, Soil moisture gives the worth 0 to 1023. so you can align the sensor as your soil condition. yet, on the advanced yield of the sensor, you can not align the sensor by the code as indicated by the Soil moisture. there is a potentiometer to adjust the sensor. for more precision utilize simple sensors. The keen water system framework is useful for a conclusive year venture.

In the wake of adjusting the sensor, I found that the cut off value is 970. at this worth, the moisture level is exceptionally low in the dirt. that is to say, on the off chance that the Soil moisture sensor detects the worth more than 970, at that point the water pump is on. what’s more, if the sensor detects the worth under 970 the water pump will stop. in this way, align your sensor.


Circuit Diagram for smart irrigation system:-

smarft irrigation system circuit diagram


Now we are giving you the code.




Servo myservo; 
int m=0;
int n=0;
int pos = 0; 
void setup() {
  // put your setup code here, to run once:
pinMode(A0, INPUT_PULLUP);
pinMode(A1, INPUT_PULLUP);

void loop() {
  // put your main code here, to run repeatedly:

int m= analogRead(A0);
int n= analogRead(A1);
if (m>=980)

 myservo.write(90);              // tell servo to go to position in variable 'pos'
  digitalWrite(8, HIGH); 

else if(m<=970) { digitalWrite(8, LOW); } if (n>=980)

  myservo.write(0);              // tell servo to go to position in variable 'pos'
  digitalWrite(8, HIGH);

else if(n<=970)

  digitalWrite(8, LOW);
  digitalWrite(8, LOW);



upload the code in the Arduino bu using the Arduino IDE

download Arduino IDE