CSE323 Project Report

Download as pdf or txt
Download as pdf or txt
You are on page 1of 4

using Arduino, a part of the IoT (Internet

Automa'c Plant
of Things) domain. This project uses soil
Watering System using moisture sensors and a water pump to
maintain op3mal soil moisture levels,
Arduino ensuring plant health. The system triggers
the water pump when needed and turns it

Fariha Mehzabin | CSE323 | 20.06.2023 | off once the op3mal moisture level is

ID: 2111533042 restored. This smart irriga3on system is


applicable in various seDngs, from home
gardens to large agricultural fields,
Abstract offering an efficient solu3on for plant care.

In response to the growing need for


efficient irriga3on systems, we have Background Studies
developed a cost-effec3ve, automa3c
As we had no no3on about this ini3a3ve
plant watering system using Arduino. This
ini3ally, we, therefore, used the internet
smart irriga3on system uses soil moisture
to research it. AFer doing so we learnt
sensors and a water pump to monitor and
that implemen3ng and building this kind
maintain op3mal soil moisture levels. The
of project is quite simple. We also found
system ac3vates the pump when watering
tutorials online regarding this project. We
is needed and shuts it down once the
wrote the code in C. AFer that we learned
op3mal level is reached. An ultrasonic
about the project’s instruc3ons as well.
sensor monitors the water level in the
These instruc3ons greatly aided us in our
reservoir, ensuring a consistent water
implementa3on of this project. How the
supply. This system offers an easy way to
Arduino Uno func3ons, the display
establish an automated irriga3on system
func3ons etc. We constructed our project
that conserves water and promotes
as directed by their guidelines.
healthier plant growth.

Introduc.on Ra.onale

Our project focuses on the development The key advantages that mo3vated the

of an automa3c plant watering system selec3on of this project are as follows:


1. The proposed system is compact effec3ve, and user-friendly open-source
and portable, allowing it to be microcontroller board that can be
easily transported and installed in incorporated into a myriad of electronic
various seDngs, from home projects. This board can be interfaced with
gardens to large agricultural fields. various sensors, and can control devices
2. The circuitry involved is like water pumps and displays as output.
straighQorward, facilita3ng easy
troubleshoo3ng and maintenance. Components:
3. The system ensures efficient water The components needed to build the
usage, making it as effec3ve, if not system are given below:
more, as other irriga3on systems
available in the market. • Arduino Uno
4. The smart irriga3on device can be • Soil moisture sensor -3
disassembled and reinstalled at
• Water Pump 5v -3
different loca3ons, offering
• Wires
flexibility in its usage.
• General-purpose PCB board
• Pipe compa3ble with water pump
Objec.ves: • plants pot

The primary objec3ve of this project is to • 16X2 Display

develop an automa3c plant watering • Ultrasonic sensor


system that can be easily integrated into • Poten3ometer 10k
various gardening and agricultural setups. • Berg strip
In this project, the system will trigger a
water pump to irrigate the plant whenever Procedure:
the soil moisture level falls below a certain
Firstly, connect both pins of the soil
threshold. This smart irriga3on system has
moisture sensor to the main control
a wide range of applica3ons, from home
board. Connect the VCC pin of the main
gardens to large agricultural fields,
control board to the 3.5-volt pin of the
greenhouses, and even indoor plant care.
Arduino. Connect the ground pin to the
To create this project, we used Arduino
ground pin of the Arduino. Connect the
Uno. Arduino Uno is a compact, cost-
DO pin (digital output pin) to pin number
6 of the Arduino. Connect the VCC pin of pinMode(trigPin, OUTPUT); pinMode(echoPin,

the relay module to the 5-volt pin of the INPUT);

Arduino. Connect the ground pin of the lcd.begin(16, 2); }


void loop() {
relay module to the ground pin of the
digitalWrite(trigPin, LOW);
Arduino. Connect the IN pin of the relay
delayMicroseconds(2); digitalWrite(trigPin,
module to pin number 3 of the Arduino.
HIGH); delayMicroseconds(10);
On the other side of the relay module,
digitalWrite(trigPin, LOW);
connect one terminal of the 5V supply to
dura6on = pulseIn(echoPin, HIGH);
the common pin of the relay module. distanceCm= dura6on*0.034/2; distanceInch =
Connect the other terminal to the NO pin dura6on*0.0133/2;
(normally open pin) of the relay module int soil_moisture = analogRead(A0);
through the water pump. int soil_moisture_2 = analogRead(A1);
int soil_moisture_3 = analogRead(A2);

const int trigPin = 9; Serial.print(soil_moisture);

const int echoPin = 10; Serial.print(" "); Serial.print(soil_moisture_2);

long dura6on; Serial.print(" "); Serial.println(soil_moisture_3);

int distanceCm, distanceInch; int z= map(soil_moisture, 0, 1023, 100, 0);

#include <LiquidCrystal.h> // ini6alize the int z_2= map(soil_moisture_2, 0, 1023, 100,

library by associa6ng any needed LCD interface 0);

pin int z_3= map(soil_moisture_3, 0, 1023, 100,

// with the arduino pin number it is connected 0);

to int a = map(distanceCm, 0, 17, 20, 0);

const int rs =8 , en = 7, d4 = 3, d5 = 4, d6 = 5, lcd.setCursor(0, 0); lcd.print("SM1");

d7 = 6; lcd.setCursor(0, 1); lcd.print(z);

LiquidCrystal lcd(rs, en, d4, d5, d6, d7); void lcd.setCursor(3, 1); lcd.print("%");

setup() { lcd.setCursor(6, 0); lcd.print("SM2");

pinMode(A0, INPUT); lcd.setCursor(6, 1); lcd.print(z_2);

pinMode(A1, INPUT); lcd.setCursor(9, 1); lcd.print("%");

pinMode(A2, INPUT); lcd.setCursor(13, 0); lcd.print("SM3");

Serial.begin(9600); lcd.setCursor(12, 1); lcd.print(z_3);

pinMode(2, OUTPUT); lcd.setCursor(15, 1); lcd.print("%"); delay(300);

pinMode(11, OUTPUT); lcd.clear();

pinMode(12, OUTPUT); lcd.setCursor(0, 0);


lcd.print("WATER LEVEL"); lcd.setCursor(12, 0); purposes, from home gardens to large
lcd.print(a); lcd.setCursor(14, 0); agricultural fields, greenhouses, and even
lcd.print("Cm"); delay(300); indoor plant care. We can easily set up
if(soil_moisture>500) { digitalWrite(2,LOW); }
this system for household purposes. As we
else { digitalWrite(2,HIGH); }
can see, the circuitry is not that
if(soil_moisture_2>280) {
complicated and thus can be troubleshot.
digitalWrite(11,LOW); }
Moreover, this given system is compact
else { digitalWrite(11,HIGH); }
and portable, and thus can easily be
if(soil_moisture_3>700) {
digitalWrite(12,LOW); } transported and installed in various

else { digitalWrite(12,HIGH); } } seDngs. However, there are some


limita3ons to this system as well. It
determines the need for water based on
Circuit Diagram:
soil moisture levels only, and does not
account for other factors like plant type,
weather condi3ons, or specific water
requirements of different plants. The
system ac3vates only when the soil
moisture level falls below a certain
threshold, and it might not be the most
efficient method for all types of plants or
soil condi3ons.

References:
1. hcps://techatronic.com/automa3c
-plant-watering-project-using-
arduino-arduino-smart-irriga3on
2. h$ps://www.youtube.com/watch?v=i

Conclusion wkE_HWU-6M

This type of automa3c plant watering


system can be easily implemented for
various gardening and agricultural

You might also like