Project Overview
This project is an Arduino-based water level management system designed to automate the process of filling and maintaining water levels in a tank. It effectively prevents water wastage from overflow and ensures a constant water supply by preventing the tank from running dry.
Key Features
- Automatic water level monitoring using ultrasonic sensors
- Control of water pump motor based on predefined thresholds
- Prevention of overflow and dry running conditions
- Real-time status display on LCD screen
- Emergency stop functionality for manual override
Technical Implementation
The system uses an Arduino Uno microcontroller as the central processing unit. An ultrasonic sensor (HC-SR04) is mounted at the top of the water tank to measure the distance to the water surface, which is then converted to water level percentage. A relay module controls the water pump motor, turning it on when the water level drops below a minimum threshold and off when it reaches a maximum threshold. The system also includes an LCD display to show the current water level and system status.
Challenges & Solutions
A key challenge was accurately measuring the water level without the sensor being affected by water splashes. This was solved by implementing a data smoothing algorithm in the code, which averages multiple readings to get a stable and accurate measurement. Another challenge was ensuring the relay module could safely handle the power requirements of the water pump, which was addressed by using a properly rated relay and isolating the high-voltage circuit from the Arduino's low-voltage components.