https://github.com/choaib-elmadi/fluid-level-sensor
Arduino-based water level monitoring system featuring real-time OLED display, voltage-to-level conversion, and interactive graphing capabilities.
https://github.com/choaib-elmadi/fluid-level-sensor
actuator arduino build cpp cprogramming embedded monitoring oled pid project projects sensor voltage
Last synced: 3 months ago
JSON representation
Arduino-based water level monitoring system featuring real-time OLED display, voltage-to-level conversion, and interactive graphing capabilities.
- Host: GitHub
- URL: https://github.com/choaib-elmadi/fluid-level-sensor
- Owner: Choaib-ELMADI
- Created: 2024-12-31T19:55:16.000Z (over 1 year ago)
- Default Branch: master
- Last Pushed: 2025-01-01T18:43:04.000Z (over 1 year ago)
- Last Synced: 2025-10-20T12:51:55.373Z (8 months ago)
- Topics: actuator, arduino, build, cpp, cprogramming, embedded, monitoring, oled, pid, project, projects, sensor, voltage
- Language: C++
- Homepage:
- Size: 1.83 MB
- Stars: 5
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
[](https://elmadichoaib.vercel.app)
# Water Level Monitoring System
This project demonstrates a water level monitoring system using an ultrasonic sensor and an Arduino. The system measures the water level in a container based on input voltage and displays the height on an OLED screen. Future enhancements include integrating a PID controller for automated water level regulation.

## Project Structure
```
.
├── 3D Models/
├── Circuit Diagram/
│ ├── circuit-diagram.png
│ └── proteus-simulation.pdsprj
├── Images/
├── Programs/
│ ├── Main/
│ │ └── Main.ino
│ └── Tests/
└── README.md
```
## System Overview
The water container setup includes:
- **Ultrasonic Sensor**: Positioned at the top of the container, measuring distance using ultrasonic waves.
- **Water Container**: Marked with height indicators in millimeters.
- **Input/Output**:
- A pipe at the top for filling water.
- An opening at the bottom for draining water.
## Hardware Components
- Arduino
- Ultrasonic water level sensor (output: 0V to 10V)
- Voltage divider (to scale voltage for Arduino input)
- OLED display
- Power supply
- 3D-printed enclosure


## How It Works
1. The ultrasonic sensor measures the distance to the water surface and outputs a voltage.
2. The voltage is scaled using a voltage divider to match the Arduino’s input range.
3. The Arduino calculates the water height using the formula derived from measurements.
4. The height and original sensor voltage are displayed on the OLED screen.
## Future Goals
- **PID Controller**: Automate water level regulation by controlling a pump for filling or a valve for draining.
- **Enhanced Display**: Show additional information such as target level and error margin.
- **Remote Monitoring**: Add IoT capabilities for remote water level tracking.
## Contributing
Contributions are welcome! If you have ideas for improvements or additional features, feel free to open an issue or submit a pull request.