Measure water level with Arduino and LCD I2C screen

Arduino UNO 17-02-25
24 0

Tutorial Plan

1- Definition of Water measurement

2- How does the Arduino UNO measure water level ?

3- Materials Needed

4- System wiring diagram

5- Arduino program

 

 

Definition of Water measurement

Water measurement refers to the process of quantifying various physical and chemical properties of water to monitor its level, flow, quality, or consumption in different applications such as agriculture, industry, environmental science, and household use.

Types of Water Measurement :

1- Water Level Measurement

Determines the height or depth of water in tanks, wells, rivers, or reservoirs.

Common methods: Ultrasonic sensors, Float sensors, Pressure sensors

2- Water Flow Measurement

Measures the rate at which water moves through a pipe or open channel.

Common methods: Flow meters (Hall effect, electromagnetic, turbine sensors)

3- Water Quality Measurement

Analyzes the chemical and physical properties of water to ensure its safety and usability.

Common parameters: pH, turbidity, Total Dissolved Solids (TDS), temperature, dissolved oxygen (DO)

4- Water Volume Measurement

Determines the amount of water consumed or stored over time.

Used in water billing systems, irrigation planning, and industrial applications.

 

How does the Arduino UNO measure water level ?

An Arduino UNO can measure water levels using conductive sensing (resistive method) with metal probes (or wires) placed at different heights inside a bottle. The water acts as a conductor, and the resistance changes based on the water level. The Arduino detects these changes and displays the water level on an LCD I2C screen.

Working Principle (Conductivity Method)

- Water is a weak conductor of electricity.

- Metal probes (or wires) are placed at different heights inside the bottle.

- When water touches a probe, a small current flows, which Arduino detects as a HIGH signal (1).

- If there is no water, the pin reads a LOW signal (0).

- Using multiple probes at different levels, Arduino determines the water level percentage and displays it on the LCD screen.

 

Materials Needed

Arduino UNO

Arduino Uno

The Arduino UNO is the brain of the system. It reads inputs from water level probes, processes the data, and displays the result on the LCD screen.

LCD 16x2 I2C Screen

The LCD I2C screen is used to display the current water level in the bottle. It communicates with the Arduino via the I2C protocol, which allows for easy wiring using only two data pins (SDA and SCL).

Plastic Bottle

The plastic bottle acts as the container for the water being measured. The water level inside the bottle is monitored by the Arduino through probes placed at different heights inside the bottle.

Stripped Wires

Fils de connexion

Stripped wires act as conductivity sensors. When water comes into contact with the probes, it conducts electricity (albeit weakly). The Arduino detects this change in resistance and determines the water level.

Resistors (10kΩ - 220kΩ)

quatre résistances

The resistors are used to stabilize the water level readings. These resistors ensure that the probes do not pick up stray signals or remain in an undefined state when not submerged in water. They pull the input pin to LOW when the probes are not in contact with water.

Breadboard

Breadboard

The Breadboard is used to test electronic circuits without the need for soldering.

 

System wiring diagram

First We drill 5 holes in the bottle. Then we fix a connection wire in each hole.

Then we connect:

- the lowest jumper wire to the 5V pin of the Arduino

- the 2nd wire connecting to pin A0 of the Arduino

- connecting the 3rd wire to pin A1 of the Arduino

- connecting the 4th wire to pin A2 of the Arduino

- the 5th jumper wire to pin A3 of the Arduino

For the I2C LCD 1602 display we connect:

- the SDA pin to the A4 pin of the Arduino

- the SCL pin to the A5 pin of the Arduino

- the GND pin to the GND pin of the Arduino

- the VCC pin to the 5V pin of the Arduino

 

Arduino program

Here is the Arduino program that detects the level of water filled in the bottle and displays the water level on the LCD display.

You have to download these two libraries: LiquidCrystal_I2C et LcdBarGraphRobojax 

0 comment

Leave a comment

Veuillez noter s'il vous plaît*

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Purpose of this website

Educational robotics refers to the use of robots and robotics technology to promote learning in educational settings. It involves the integration of technology, engineering, and computer science into the classroom, allowing students to engage in hands-on, project-based learning experiences.
In this context, our website represents an excellent resource for parents, teachers and children who wish to discover robotics.

Contact details

Zaouiet Kontech-Jemmel-Monastir-Tunisia

+216 92 886 231

medaliprof@gmail.com

Pictures of the articles

Robotic site created by MedAli-Teacher info