Introduction
An Automatic Water Pump Controller is an electronic system designed to control water pumps automatically based on water level in tanks or reservoirs. This system prevents dry running of pumps, saves electricity, and ensures efficient water management.
This project is widely used in household water tanks, irrigation systems, and industries.
Objective of the Project
- To automatically switch ON/OFF a water pump based on water level.
- To prevent pump damage due to dry running.
- To save electricity by operating the pump only when required.
- To understand water level sensor and relay interfacing with Arduino.
Working Principle
The Automatic Water Pump Controller works on water level sensing and relay control.
Step-by-Step Working
- Water level sensors (float sensors or probes) detect tank water levels.
- Arduino reads sensor input to determine tank status.
- If water is below minimum level, Arduino switches ON the pump via relay.
- Pump continues to operate until the water reaches maximum level.
- Arduino switches OFF the pump to prevent overflow.
Components Required
- Arduino Uno
- Relay Module (1-channel or 2-channel)
- Water Level Sensors (Float Switch or Conductive Probe)
- Water Pump (DC or AC via Relay)
- Jumper Wires
- Breadboard / PCB
- 5V Power Supply for Arduino
- 220V AC Supply (for water pump via relay)
Circuit Diagram
Connections
Water Level Sensors:
Low-Level Sensor -> D2 (Arduino)
High-Level Sensor -> D3 (Arduino)
VCC -> 5V
GND -> GND
Relay Module:
IN1 -> D8 (Arduino controls water pump)
VCC -> 5V
GND -> GND
Water Pump:
Connected through NO (Normally Open) contact of relay to AC supply
Arduino GND connected to relay GND
Arduino Code for Automatic Water Pump Controller
int lowSensor = 2;
int highSensor = 3;
int relayPin = 8;
void setup() {
pinMode(lowSensor, INPUT);
pinMode(highSensor, INPUT);
pinMode(relayPin, OUTPUT);
Serial.begin(9600);
}
void loop() {
int lowLevel = digitalRead(lowSensor);
int highLevel = digitalRead(highSensor);
if (lowLevel == LOW && highLevel == LOW) {
digitalWrite(relayPin, HIGH); // Turn ON pump
Serial.println("Pump ON");
}
else if (highLevel == HIGH) {
digitalWrite(relayPin, LOW); // Turn OFF pump
Serial.println("Pump OFF");
}
delay(500);
}
Code Explanation
- Low and high-level sensors detect tank water levels.
- Arduino activates the relay to switch ON/OFF the pump.
- Pump turns ON when water is below minimum level.
- Pump turns OFF when water reaches maximum level.
- Serial Monitor shows real-time pump status.
Advantages
- Prevents pump dry running
- Saves electricity
- Automatic operation, no manual intervention
- Can be integrated with smart irrigation systems
Applications
- Household water tanks
- Agricultural irrigation systems
- Industrial water storage
- Smart cities and automated water management
Future Enhancements
- IoT-based water level monitoring via smartphone
- SMS or app alerts for low/high water levels
- Solar-powered pump automation
- Integration with water flow sensors for precise water usage
Conclusion
The Automatic Water Pump Controller is a practical and highly useful electronics project that combines water level sensing with automation. It ensures efficient water management and protects pumps from damage, making it ideal for smart homes, agriculture, and industries.
