0% found this document useful (0 votes)
356 views41 pages

Automatic Irrigation System Using AURDINO Uno (Mine)

This document describes an automatic irrigation system using an Arduino Uno board. It contains sections on the introduction, function, principle, block diagrams, working, flow chart, circuit diagram, components, and advantages of the system. The system uses soil moisture sensors, a real-time clock, and a water pump controlled by a relay module to automatically water plants based on soil moisture levels. It is powered by an Arduino Uno board and allows remote monitoring and control through a smartphone app or computer interface.

Uploaded by

Shobha Hebballi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
356 views41 pages

Automatic Irrigation System Using AURDINO Uno (Mine)

This document describes an automatic irrigation system using an Arduino Uno board. It contains sections on the introduction, function, principle, block diagrams, working, flow chart, circuit diagram, components, and advantages of the system. The system uses soil moisture sensors, a real-time clock, and a water pump controlled by a relay module to automatically water plants based on soil moisture levels. It is powered by an Arduino Uno board and allows remote monitoring and control through a smartphone app or computer interface.

Uploaded by

Shobha Hebballi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 41

AUTOMATIC IRRIGATION

SYSTEM USING ARDUINO UNO

TONTADARYA COLLEGE OF ENGINEERING GADAG


SUBMITTED TO: Prof.Mukta Patil

SUBMITTED BY:
1. Shobha .S. Hebballi - 2TG18EC034
2. Divya Jadhav - 2TG18EC013
3. Sneha Diggavi - 2TG18EC038
4. Vaishnavi wadawadgi – 2TG18EC0
 Introduction .
Function .
Principle .
Block diagram .
Block diagram of automatic irrigation system .
Working .
Flow chart .
Circuit diagram .
Pictorial circuit diagram of system .
Components .
software designing .
advantages .
Disadvantages .
Applications .
Conclusion .
INTRODUCTION
• Irrigation is an artificial application of watering the land for agricultural
production.
• The requirement of water to the soil depends on soil properties such as soil
moisture and soil temperature.
• Effective irrigation can influence the entire growth process and automation in
irrigation system using modern technology can be used to provide better
irrigation management.
• In general, most of the irrigation systems are manually operated. These
traditional techniques can be replaced with automated techniques of irrigation
in order to water efficiently and effectively.
• Conventionally, farmers will present in their fields to do irrigation process.
Nevertheless, nowadays farmers need to manage their agricultural activity
along with other occupations.
• The proposed system is developed to automatically water the plants when the soil
moisture sensor has detected the soil is insufficient of water by using the Arduino
as the center core.
• The automated irrigation system is a fully functional prototype which consists of a
soil moisture sensor; In this system, a soil moisture sensor is used to detect and
check the soil humidity of the plant.
• Based on the soil moisture level from the soil, the system will let the water pump
to automatic water the plant when it is too dry and turn off the water pump when
the soil of the plant is wet.
• an LCD display to show the moisture percentage and pump status; a relay module
which used to control the on and off switch of the water pump; and a water pump.
• When the soil moisture sensor sense the dry soil, it will show the moisture
percentage on the LCD display, and the relay module will switch on the water
pump automatically to start the watering process, or vice versa. Hardware testing
is conducted to ensure the proposed system is fully functional.
IRRIGATION CONTROL SYSTEM FUNCTION
• User Interface: User interface allow the user to inter act with the system by sending
information to the controller by presenting information to user about the system. Its
generally a computer or a smartphone
• Controlled Devices: Controlled devices include a wide range of equipment that this
Arduino and sensor is capable of. Here in our project it is a motor.
• Programming Computer: Some system controllers allow the user to program the
system with the systems own user interface. Other system require PC to program.
Here we are accessing Arduino IDE with the help of a PC.
• Controllers: Relay controllers provide the intelligent control functions in automatic
irrigation control.
• Sensing Devices: Sensing devices can report values, such as temperature and
humidity etc or states.
• I/O Interface Devices: These devices provide the logical communication link
between the controllers and the controlled device systems
PRINCIPLE
 When the sensor arrangement senses the moisture of the soil,
it sends the signal to the microcontroller by using a comparator
act as an interface between the sensing arrangement and the
microcontroller.
Thus , the automatic plant irrigation system depends on the
output of the humidity sensor .

t
Block Diagram of Automatic Irrigation
System
 The block diagram of Automatic Irrigation System on Sensing Soil Moisture Content project
comprises three main components namely an 8051 microcontroller, comparator and relay.
This project uses an 8051 microcontroller which is programmed in keil software.

 Sensing arrangement is made by using two stiff metallic rods placed into the field at a
distance. Once the microcontroller receives the signal it generates the output that drives a
relay and prompts the motor to pump water to the plants.

 The status of the water pump and soil is displayed on LCD which is interfaced to the
microcontroller.

 Thus, this automatic plant-irrigation system depends on the output of the humidity sensors.
Whenever there is a need of excess water in the desired fields, then it is impossible to use
sensor technology. But, by using DTMF technology we will be able to irrigate the desired
WORKING :-
This automatic plant irrigation system comprises three main components namely a microcontroller , a
motor driver circuit and a sensor circuit .
When the sensor circuit senses the condition of soil , it compares it with the reference voltage 5v
this process is done by a 555 timer .
When the soil condition is less then the reference voltage that is 5 v then the soil is considered as
dry and instantly the 555 timer sends the logic signal 1 to the microcontroller .

The microcontroller then turns on the motor driver circuit prompts the motor to pump water to the
plant . When the soil condition is greater then the reference voltage , the soil become dry

Then the timer 555 sends the logic signal 0 to the microcontroller ,this turns off the motor driver circuit
and prompts motor to pump water to the fields .finally , the condition of the motor and soil are displayed
in the LCD display
FLOW CHART :-
CRICUIT DIAGRAM OF THE SYSTEM :-
The soil moisture sensor module used here have two output pins ( Digital output and Analog
output ). The output from the probe of the moisture sensor is compared with a reference value
using a lm393 comparator. The reference value can be changed by turning the potentiometer in the
module.
 The digital pin gives an active low output when the soil is wet. Here we are using the analog
output from the module by connecting it to one of the analog pins of Arduino. While using the
analog output the wet detection value can be set/adjusted within the program itself.

 As shown in the circuit diagram, a float switch is connected to one of the analog pins of
Arduino and a 1K Ohm resistor is used to pulled up the line. Analog pins of Arduino can also
be used as digital inputs.

 The status of the tank is identified by checking the output of the float switch. Arduino reads
the voltage dropped across the pull up resistor for sensing the level of water in the tank.  Two
LEDs are connected to the 2nd and 3rd pin of Arduino to show the moisture status and tank
status respectively.

 And the 4th pin links to the base of a BC547 transistor which in turn drives the 12 V DC
motor
The status of the tank is identified by checking the output of the float switch. Arduino reads
the voltage dropped across the pull up resistor for sensing the level of water in the tank.  Two
LEDs are connected to the 2nd and 3rd pin of Arduino to show the moisture status and tank status
respectively.

 And the 4th pin links to the base of a BC547 transistor which in turn drives the 12 V DC motor

16*12 LCD is connected with Arduino in 4-bit mode. JHD162A is the LCD module used
here.
JHD162A is a 16×2 LCD module based on the HD44780 driver from Hitachi. The
JHD162A has 16 pins and can be operated in 4-bit mode (using only 4 data lines) or 8-
bit mode (using all 8 data lines).
 Here we are using the LCD module in 4-bit mode. Control pin RS, RW and In are directly
connected to Arduino pin 13, GND and 12. And data pin D4-D7 is connected to 11, 10, 9
and 8 of Arduino.
PICTORIAL CIRCUIT DIAGRAM OF THE SYSTEM
AUTOMATIC IRRIGATION SYSTEM
USING ARDUINO BOARD
*Over View Of Automatic irrigation System:-
AUTOMATIC IRRIGATION SYSTEM REQUIRES BOTH HARDWARE &SOFTWARE
COMPONENTS IN THE IMPLEMENTATION AND DESIGNING THEY ARE AS
FOLLOWS:-
HARDWARE COMPONENTS:-
1. Arduino-Board
Arduino is an open source physical computing platform based on simple
input/output board and development that implements the processing
language.
• The features of Arduino Uno ATmega328 includes the following.
• The operating voltage is 5V.
• The recommended input voltage will range from 7v to 12V.
• The input voltage ranges from 6v to 20V.
• Digital input/output pins are 14.
• Analog i/p pins 6.
• DC Current for each input/output pin is 40 mA .

02. DHT11 Temperature and humidity sensor


• Relative humidity expressed as a percentage.
• HS1100 is used for sensing humidity.
• The output in terms of frequency range 5khz to 10khz.
• It measures both air temperature and moisture.
03.Real Time Clock

Real time clocks (RTC), as the name recommends are clock modules. The DS1307 real
time clock (RTC) IC is an 8 pin device using an I2C interface. The DS1307 is a low-power
clock/calendar with 56 bytes of battery backup SRAM. They are available as integrated
circuits (ICs) and supervise timing like a clock and also operate date like a calendar. The
main advantage of RTC is that they have an arrangement of battery backup which keeps the
clock/calendar running even if there is power failure. An exceptionally little current is
required for keeping the RTC animated. We can find these RTCs in many applications like
embedded systems and computer mother boards, etc.
04. Light Emitting Diode

A light-emitting diode (LED) is a two-lead semiconductor light source. It is a pn junction


diode that emits light when activated. When a suitable voltage is applied to the leads,
electrons are able to recombine with electron holes within the device, releasing energy in the
form of photons. This effect is called electroluminescence, and the colour of light
(corresponding to the energy of the photon) is determined by the energy band gap of the
semiconductor. LEDs are typically small (less than 1 mm2 ) and integrated optical
components may be used to shape the radiation pattern.
05. Resistors

A resistor is a passive two-terminal electrical component that implements electrical


resistance as a circuit element. In electronic circuits, resistors are used to reduce current
flow, adjust signal levels, to divide voltages, bias active elements, and terminate
transmission lines, among other uses. High-power resistors that can dissipate many watts of
electrical power as heat may be used as part of motor controls, in power distribution
systems, or as test loads for generators. Fixed resistors have resistances that only change
slightly with temperature, time or operating voltage. Variable resistors can be used to adjust
circuit elements (such as a volume control or a lamp dimmer), or as sensing devices for
heat, light, humidity, etc.
06. Relay module

Relay is an electromagnetic device which is used to isolate two circuits electrically and
connect them magnetically. They are very useful devices and allow one circuit to switch
another one while they are completely separate. They are often used to interface an
electronic circuit (working at a low voltage) to an electrical circuit which works at very
high voltage. For example, a relay can make a 5V DC battery circuit to switch a 230V AC
mains circuit. Thus a small sensor circuit can drive, say, a fan or an electric bulb.
07. Diode

In electronics, a diode is a two-terminal electronic component that


conducts primarily in one direction (asymmetric conductance), it
has low (ideally zero) resistance to the flow of current in one
direction, and high (ideally infinite) resistance in the other. A
semiconductor diode is a crystalline piece of semiconductor
material with a p-n junction connected to two electrical terminals.
08. MOSFET

The 2N7000 MOSFET is an N-channel, enhancement-mode MOSFETs used for low-power


switching applications, with different lead arrangements and current ratings. The 2N7000 is
a widely available and popular part, often recommended as useful and common
components to have around for hobbyist use. The 2N7000 is 60 V devices and it can switch
200 mA. The 2N7002 is another different part with different resistance, current rating and
package. The 2N7002 is also known as "small outline transistor" SOT-23 surface-mount,
which is the most commonly used three-lead surface-mount package.
09. DC Motor

A DC motor is any of a class of rotary electrical machines that converts direct current
electrical energy into mechanical energy. The most common types rely on the forces
produced by magnetic fields. Nearly all types of DC motors have some internal mechanism,
either electromechanical or electronic, to periodically change the direction of current flow in
part of the motor. DC motors were the first type widely used, since they could be powered
from existing direct-current lighting power distribution systems. A DC motor's speed can be
controlled over a wide range, using either a variable supply voltage or by changing the
strength of current in its field windings. Small DC motors are used in tools, toys, and
appliances.
SOFTWARE DESIGNING

#include "RTClib.h" // RTC library


#include "DHT.h" // DHT temperature/humidity sensor library
// Analog pin usage
const int RTC_5V_PIN = A3
const int RTC_GND_PIN = A2;
#include <Wire.h> // Wire library, used by RTC library
// Digital pin usage const int DHT_PIN = 2; // temperature/humidity sensor
const int NUMBEROFTIMES = 2;
int onOffTimes[NUMBEROFTIMES];
const int ONTIME = 0;
const int OFFTIME = 1;
#define DHTTYPE DHT11
DHT dht(DHT_PIN, DHTTYPE); // Create a DHT object
Date Time dateTimeNow; //to store results from the RTC
//to store humidity result from the DHT11 sensor
float humidityNow;
void setup(){
// Power and ground to RTC
pinMode(RTC_5V_PIN, OUTPUT);
pinMode((RTC_GND_PIN, OUTPUT);
digitalWrite(RTC_5V_PIN, HIGH);
digitalWrite(RTC_GND_PIN, LOW);
// Initialize the wire library
#ifdef AVR
Wire.begin();
#else
// Shield I2C pins connect to alt I2C bus on Arduino Due
Wire1.begin();
#endif
rtc.begin(); // Initialize the RTC object
dht.begin(); // Initialize the DHT object
Serial.begin(9600); // Initialize the Serial object
// Set the water valve pin numbers into the array
// and set those pins all to outputs
pinMode(8, OUTPUT);
};
Serial.print(dateTimeNow.hour(), DEC);
Serial.print(':');
Serial.print(dateTimeNow.minute(), DEC);
Serial.print(':');
Serial.print(dateTimeNow.second(), DEC);
humidityNow = dht.readHumidity();
// Read temperature as Celsius
float t = dht.readTemperature();
// Read temperature as Fahrenheit
float f = dht.readTemperature(true).
if (isnan(humidityNow) || isnan(t) || isnan(f)) {
Serial.println("Failed to read from DHT sensor!");
return; // if the DHT is not running don't continue;
}

Serial.print(" Humidity ");


Serial.print(humidityNow);
Serial.print("% ");
Serial.print("Temp ");
Serial.print(t);
Serial.print(dateTimeNow.hour(), DEC);
Serial.print(':');
Serial.print(dateTimeNow.minute(), DEC);
Serial.print(':');
Serial.print(dateTimeNow.second(), DEC);
humidityNow = dht.readHumidity();
// Read temperature as Celsius
float t = dht.readTemperature();
// Read temperature as Fahrenheit
float f = dht.readTemperature(true).
if (isnan(humidityNow) || isnan(t) || isnan(f)) {
Serial.println("Failed to read from DHT sensor!");
return; // if the DHT is not running don't continue;
}

Serial.print(" Humidity ");


Serial.print(humidityNow);
Serial.print("% ");
Serial.print("Temp ");
Serial.print(t);
Serial.print("C
Serial.print(f);
Serial.print("F");
Serial.println();
} // end of getTimeTempHumidity:
void checkUserInteraction() {
// Check for user interaction
while (Serial.available() > 0) {
char temp = Serial.read();
if ( temp == 'P') {
printSettings();
Serial.flush();
break;
}
// If first character is 'S' then the rest will be a setting
else if ( temp == 'S') {
expectValveSetting();
}
else {
printMenu();
Serial.flush();
break;
void expectValveSetting() {
char onOff = Serial.read();
int desiredHour = Serial.parseInt();
if (Serial.read() != ':') {
Serial.println("no : found"); // Sanity check
Serial.flush();
return;
}
int desiredMinutes=Serial.parselnt();
int desiredMinutesSinceMidnight
= (desiredHour*60 + desiredMinutes);
if ( onOff == 'N') { // it's an ON time
onOffTimes[ONTIME]
= desiredMinutesSinceMidnight;
}
else if ( onOff == 'F') { // it's an OFF time
onOffTimes[OFFTIME]
= desiredMinutesSinceMidnight;
}
else { // user didn't use N or F
Serial.print("You must use upper case N or F ");
Serial.println("to indicate ON time or OFF time");
Serial.flush();
return;
}
printSettings();
}
void checkTimeControlValves() {
int nowMinutesSinceMidnight =
(dateTimeNow.hour() * 60) + dateTimeNow.minute();
// Now check the array for each valve
Serial.print("Valve ");
Serial.print(" is now ");
if ( ( nowMinutesSinceMidnight >=
onOffTimes[ONTIME]) &&
( nowMinutesSinceMidnight <
onOffTimes[OFFTIME]) ) {

// Before we turn a valve on make sure it's not raining


if ( humidityNow > 80 ) {
// It's raining; turn the valve OFF Serial.print(" OFF ")
; digitalWrite(8, LOW);
}
else {
// No rain and it's time to turn the valve ON
Serial.print(" ON ");
digitalWrite(8, HIGH);
} // end of checking for rain
}
else {
Serial.print(" OFF ");
digitalWrite(8, LOW);
}
Serial.println();
// end of looping over each valve
Serial.println();
}
void printMenu() {
Serial.println(
"Please enter P to print the current settings");
} void printSettings()
{ Serial.println();{
Serial.print("Valve ");
Serial.print(" will turn ON at ");
Serial.print((onOffTimes[ONTIME])/60);
Serial.print(":");
Serial.print((onOffTimes[ONTIME])%(60));
Serial.print(" and will turn OFF at ");
Serial.print((onOffTimes[OFFTIME])/60); // hours
Serial.print(":");
Serial.print((onOffTimes[OFFTIME])%(60)); // minutes
Serial.println();
}
ADVANTAGES OF AUTOMATIC IRRIGATION
SYSTEM FOR PLANTS USING AURDINO :-
• Less requirement of irrigation water
• Water supply at optimal level
• Water logging is avoided
• High yield
• Over irrigation is avoided
• Variation in application rate
• Reduce labour cost
• Weed control
• Increase in net irritable area
• Highly Uniform distribution of water that is controlled by output of each nozzle no soil erosion
• Suitable for any topography
• Improved disease and pest control
• Tolerence to windy atmospheric condition
DISADVANTAGES:-

• High cost
• Expense
• Waste
• Clogging
• Drop tape causes extra cleanup costs after harvest.
• This method is not suitable for closely planted crops such as
wheat.
APPLICATIONS:
• It can be agriculture fields, lawns & as drip irrigation
system.
• It can be used for cultivation purposes.
• It can be used to provide water in nursery planting arena.
• It can be used for wide range of crops as one can
customize references required for different kind of crops.
• Pond water management and water transfer.
CONCLUSION
• The automatic irrigation control using Arduino Uno has been
experimentally proven to work satisfactorily and we could successfully
set the timer and managed to control the motor over time .
• This process not only records values of temperature and humidity it also
controls the motor accordingly .
• Analyzing the weather condition motor will automatically maintain
water supply making it possible to maintain greenery without human
intervention.
THANK YOU

You might also like