You are on page 1of 24

WATER LEVEL

DETECTION AND
AUTOMATIC PUMP
CONTROL
BY
CHINMOY KUMAR
GSHOH
B P PODDAR INSTITUTE
OF MANAGEMENT AND
TECHNOLOGY
INTRODUCTION
Automatic water pump controller is a series of
functions to control the Automatic Water Pump
Controller Circuit in a reservoir or water storage.
The water level sensor is made with a metal
plate mounted on the reservoir or water tank.
With a sensor in the short to create the top level
and a detection sensor for detecting long again
made for the lower level.
And ground lines connected to the bottom of
reservoirs.
RELATED
WORKS
Khaled Reza el al., (2010) introduced the notion
of water level monitoring and management within
the context of electrical conductivity of the water.
The authors motivated by the technological
affordances of mobile devices and the believe
that water level management approach would
help in reducing the home power consumption
and as well as water overflow.
The research result was a flexible, economical
and easy configurable system designed on a low
cost PIC16F84A microcontroller to determine and
senses water level globally.
MATERIALS
There are some objectives need to be achieved in order to
accomplish this project.

ARDUINO
ULTARSONIC SENSOR
WATER PUMP
PCB BOARD
SOLDERING
RELAY
TRANSISTOR 2N2222
RESISTOR
CAPACITOR
SWITCH
LED
WIRE
FEMALE-HEADER
MALE-HEADER
BUZZER
16 X 2 LCD
BLOCK DIAGRAM & FLOWCHART
HARDWARE
DESIGN
The system performs the sensing level and
control activities without the manual
observation and attention in the site. Being an
automatic system unavailing manpower and
providing information for long period of time.
The automatic water level control system has
the following main components
SENSOR UNIT
The sensor assembly consists of four
aluminum wires arranged at 1/4, 1/2, 3/4 and
full levels in the tank. The dry ends of these
wires are connected to analog input pins A1,
A2, A3 and A4 of the Arduino respectively. A
fifth wire is positioned at the bottom of the
tank.
CONTROL UNIT

The basic operation of control unit is the


controlling water pump by arduino which is
programmed by particular program. Water
pump are connected with an output pin of
arduino via a relay circuit which is connected
with a transistor.
BUZZER

It is an electronic used to give alarm sound as


it is programmed
LIQUID CRYSTAL
DISPLAY (LCD)
LCD (Liquid Crystal Display) screen is an
electronic display module and find a wide range
of applications. A 16x2 LCD display is very basic
module and is very commonly used in various
devices and circuits.
A 16X2 LCD means it can display 16 characters
per line and there are 2 such lines. In this LCD
each character is displayed in 5x7 pixel matrix.
This LCD has two registers, namely, Command
and Data.
The command register stores the command
instructions given to the LCD. A command is an
PIN DIAGRAM & DESCRIPTION
PIN FUNCTION NAME
NO.
1 Ground (0V) Ground
2 Supply voltage; 5V (4.7V 5.3V) Vcc
3 Contrast adjustment; through a variable resistor VEE
4 Selects command register when low; and data Register Select
register when high
5 Low to write to the register; High to read from Read/write
the register
6 Sends data to data pins when a high to low Enable
pulse is given
7 DB0
8 DB1
9 DB2
10 DB3
11 DB4
8-bit data pins
12 DB5
13 DB6
14 DB7
15 Backlight VCC (5V) LED+
SIMULATION
Using PROTEUS software, now it is possible to
draw a complete circuit for a arduino based
system and then tests it.
With PCB layout the software now also offering
automatic of both component placement and
track routing, getting the design into the
computer can often be the most time consuming
element of the exercise.
So when we simulate our program which had
written in arduino C language, and as we wrote
before that will show the water level on the LCD
and will turn - on and off- the pump unit according
to this value
USING PROTEUS
SOFTWARE
ARDUINO NANO
CHIP
MOTOR
CODING
#include<LiquidCrystal.h> // include the library code for lcd
LiquidCrystal lcd(12, 11, 5, 4, 3, 2); //
#define echopin 9 // echo pin
#define trigpin 8 // Trigger pin
int maximumRange = 50;
long duration, distance;
void setup()
{
lcd.begin(16,2);
Serial.begin (9600);
pinMode (trigpin, OUTPUT);
pinMode (echopin, INPUT );
pinMode (7, OUTPUT);// buzzer
pinMode (10,OUTPUT);// pump
}
void loop ()
{
{
digitalWrite(trigpin,LOW);
delayMicroseconds(2);
digitalWrite(trigpin,HIGH);
delayMicroseconds(10);
duration=pulseIn (echopin,HIGH);
distance = ((duration/2) / 29.1);
delay (50);
Serial.println(distance);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("level in cm :");
lcd.print(distance);
delay(100);
}
if (distance >= 15 )
{
digitalWrite (10,HIGH);// Pump
lcd.setCursor(0,1);
lcd.print( "Tank Empty");
delay(100);
}
if (distance <13 && distance > 11 )
{
lcd.setCursor(0,1);
lcd.print( "1/4 th ");
delay(100);
}
if (distance <10 && distance >9) {
lcd.setCursor(0,1);
lcd.print("1/2 th");
delay(100);
}
if (distance <7 && distance > 5 )
{
lcd.setCursor(0,1);
lcd.print( "3/4 th ");
delay(100);
}
if (distance <= 3 )
{
lcd.setCursor(0,1);
lcd.print( "TANK FULL");
delay(100);
digitalWrite(10,LOW); // pump
digitalWrite (7,HIGH); // buzzer
delay(5000);
digitalWrite (7,LOW);
}
OUTPUT
CONCLUSION

This project involved designing and


development of automatic water level control
system had exposed to the better way of
software and hardware architecture that
blends together for the interfacing purposes.
The system employs the use of advance
sensing technology to detect the water level.

You might also like