Automatic Water Pump Controller
Group Members
Faysal Ahmed Anik 15-29312-1
Hossain, Arafat 15-29285-1
Chowdhury,Md.Fuad Hasan 15-29066-1
Khan, Md. Tasdikul Islam 15-29210-1
Chowdhury,Omar Khaium 15-28837-1
Contents
▪Aim of the project
▪Equipments
▪Working Mechanism
▪Costing
▪Conclusion
Aim of the project
▪ Pump will start when tank gets almost empty.
▪ Pump will stop when tank gets full.
▪ Reduce the wastage of water.
Equipments
▪Arduino Uno R3
▪Liquid level sensor
▪Motor
▪L293D dual DC motor driver
▪DC socket breakout board
▪12V,2A Adapter
▪Male to male jumpers
▪Male to female jumpers
Working Mechanism
▪Liquid Level Sensor will be drowned into the water.
▪Output will change according to water level.
▪Motor speed depends on water level in the tank.
Connection between Arduino
and Liquid Level Sensor has
been established at first.
Connection between Arduino
and L293D dual DC motor
controller.
Connection between DC socket
breakout board and L293D
dual DC motor controller.
Finally, jack of 12v adapter
has been connected with DC
socket and then connected it
with 220v AC line.
If analog value (displaying in serial
monitor) is less than 200 then the
motor will rotate at full speed.
If the value remains between 200
and 599 then motor will rotate at
medium speed.
If the value is equal to 600 or
greater than that then the motor
will get stopped.
water_ain = A3 ; //Attached to sensor's Aout pin
int in1 = 8 ; //Attached to motor driver's IN1 pin
int in2 = 9 ; //Attached to motor driver's IN2 pin
int enable = 10 ; //Attached to motor driver's ENA pin
int ad_value = 0 ;
void setup ( )
{
Serial. begin ( 9600 ) ;
pinMode ( in1,OUTPUT ) ;
pinMode ( in2,OUTPUT ) ;
pinMode ( enable,OUTPUT ) ;
digitalWrite ( in1,HIGH ) ;
digitalWrite ( in2,LOW ) ;
}
void loop ( )
{
ad_value = analogRead ( water_ain ) ;
if ( ad_value > 200 && ad_value <= 600 )
{
Serial. println ( "Medium water level" ) ;
delay ( 2000 ) ;
analogWrite ( enable, 50 ) ;
}
else if ( ad_value > 600 )
{
Serial. println ( "High water level" ) ;
delay ( 2000 ) ;
analogWrite ( enable, 0 ) ;
}
else
{
Serial. println ( "Low water level" ) ;
delay ( 2000 ) ;
analogWrite ( enable, 100 ) ;
}
delay ( 1000 ) ;
Serial. println ( ad_value ) ;
}
Costing
Why it is best??
Cost effective according to the
other projects in the market
Easy to implement Provides the accurate water
level information like
low,medium and high
Thanks!
Any questions?

Automatic water pump controller

  • 1.
  • 2.
    Group Members Faysal AhmedAnik 15-29312-1 Hossain, Arafat 15-29285-1 Chowdhury,Md.Fuad Hasan 15-29066-1 Khan, Md. Tasdikul Islam 15-29210-1 Chowdhury,Omar Khaium 15-28837-1
  • 3.
    Contents ▪Aim of theproject ▪Equipments ▪Working Mechanism ▪Costing ▪Conclusion
  • 4.
    Aim of theproject ▪ Pump will start when tank gets almost empty. ▪ Pump will stop when tank gets full. ▪ Reduce the wastage of water.
  • 5.
    Equipments ▪Arduino Uno R3 ▪Liquidlevel sensor ▪Motor ▪L293D dual DC motor driver ▪DC socket breakout board ▪12V,2A Adapter ▪Male to male jumpers ▪Male to female jumpers
  • 6.
    Working Mechanism ▪Liquid LevelSensor will be drowned into the water. ▪Output will change according to water level. ▪Motor speed depends on water level in the tank.
  • 7.
    Connection between Arduino andLiquid Level Sensor has been established at first.
  • 8.
    Connection between Arduino andL293D dual DC motor controller.
  • 9.
    Connection between DCsocket breakout board and L293D dual DC motor controller.
  • 10.
    Finally, jack of12v adapter has been connected with DC socket and then connected it with 220v AC line.
  • 11.
    If analog value(displaying in serial monitor) is less than 200 then the motor will rotate at full speed. If the value remains between 200 and 599 then motor will rotate at medium speed. If the value is equal to 600 or greater than that then the motor will get stopped. water_ain = A3 ; //Attached to sensor's Aout pin int in1 = 8 ; //Attached to motor driver's IN1 pin int in2 = 9 ; //Attached to motor driver's IN2 pin int enable = 10 ; //Attached to motor driver's ENA pin int ad_value = 0 ; void setup ( ) { Serial. begin ( 9600 ) ; pinMode ( in1,OUTPUT ) ; pinMode ( in2,OUTPUT ) ; pinMode ( enable,OUTPUT ) ; digitalWrite ( in1,HIGH ) ; digitalWrite ( in2,LOW ) ; } void loop ( ) { ad_value = analogRead ( water_ain ) ; if ( ad_value > 200 && ad_value <= 600 ) { Serial. println ( "Medium water level" ) ; delay ( 2000 ) ; analogWrite ( enable, 50 ) ; } else if ( ad_value > 600 ) { Serial. println ( "High water level" ) ; delay ( 2000 ) ; analogWrite ( enable, 0 ) ; } else { Serial. println ( "Low water level" ) ; delay ( 2000 ) ; analogWrite ( enable, 100 ) ; } delay ( 1000 ) ; Serial. println ( ad_value ) ; }
  • 12.
  • 13.
    Why it isbest?? Cost effective according to the other projects in the market Easy to implement Provides the accurate water level information like low,medium and high
  • 14.