Liquid-Level Monitoring Using a Pressure Sensor – Bar-Graph Display
- Rajkumar Sharma
- 448 Views
- moderate
- Tested
- SKU: EL140979
- Quote Now
This project allows users to monitor the liquid level on a Bar-Graph display. The liquid level is measured using a pressure sensor, the sensor is placed on top of the tank and is connected to an open-ended tube that is submerged in the water tank. The amount of water in the tank creates a proportional amount of pressure on the sensor via the trapped air in the tube. The pressure sensor produces an equivalent output voltage. This voltage is monitored by the ADC of ATMEGA328 microcontroller and displayed on a bar-graph of 16 LEDs connected to the I/O pins of the microcontroller. The project is based on an Arduino-compatible microcontroller. Example code is written using Arduino IDE and is provided below. This project can measure water levels up to 100 cm (1m). Users may use other LED colors. Trimmer potentiometer PR1 is optional for other applications, turn full CW.
MPXV5010DP pressure sensor from NXP is used to measure the liquid level. This is an analog pressure sensor and the output of this sensor is 0.2V to 4.7V which is proportional to the applied pressure range of 0-10kPa (0 to 1.45PSI). We have used MPXV5010DP which has dual ports, but a single port sensor can also be used.
Features
- Power Supply 5V DC
- 16 LEDs Display the Liquid Level
- Liquid Level Measurement up to 100 cm
- 2 x 3 mm Mounting Holes
- PCB Dimensions 111.71 x 28.89 mm
The MPXV5010DP series piezoresistive transducers are state-of-the-art monolithic silicon pressure sensors designed for a wide range of applications, particularly those employing a microcontroller or microprocessor with A/D inputs. This transducer combines advanced micromachining techniques, thin-film metallization, and bipolar processing to provide an accurate, high-level analog output signal that is proportional to the applied pressure. The axial port has been modified to accommodate industrial-grade tubing.
Arduino Hardware
Arduino Code is available as a download and the code can be uploaded using Arduino UNO. The user will be able to display a 100cm water level, divided by 16 LEDs. The user can map analog value vs 16 LEDs as per requirement.
Applications
- Temperature Monitor
- Humidity Monitor
- Voltage Monitor
- LED Light Effects
- Gaming
- Battery Level Monitor
- Current Monitor
- Tilt Monitor
- Light Monitor
Connections and Other Details
- CN1: Pin 1 = Sensor Input Arduino A0, Pin = GND
- CN2: Pin 1 = VCC 5V DC, Pin 2 GND
- LED D2 to D16 LEDs, Bar-Graph
- D1 LED: Power LED
- R22, R23: Sensor, Optional (Not used in this application), NTC, LDR, or any other sensor
- SW1: No Use, Optional
Schematic
Parts List
BOM | QNTY | REF | DESC | MANUFACTURER | SUPPLIER | SUPPLIER PART NO |
---|---|---|---|---|---|---|
1 | 2 | CN1,CN2 | 2 PIN MALE HEADER PITCH 2.54MM | WURTH | DIGIKEY | 732-5315-ND |
2 | 3 | C1,C4,C5 | 0.1uF/16V CERAMIC SMD SIZE 0805 | YAGEO/MURATA | DIGIKEY | |
3 | 2 | C2,C3 | 22PF/25V CERAMIN DISC THT | YAGEO/MURATA | DIGIKEY | |
4 | 1 | C6 | 10uF/25V ELECTROLYTIC | YAGEO/MURATA | DIGIKEY | |
5 | 16 | D1 to D16 | LED GREEN 5MM | KINGBRIGHT | DIGIKEY | 754-1263-ND |
6 | 1 | PR1 | 10 TRIMMER POTENTIOMETER | BOURNS | DIGIKEY | 3362P-103LF-ND |
7 | 17 | R1 to R17 | 1K OR 470E 5% 1/4W THT | YAGEO/MURATA | DIGIKEY | |
8 | 1 | R18 | 10K 5% THT 1/4W | YAGEO/MURATA | DIGIKEY | |
9 | 1 | R19 | 1M 5% 1/4W THT | YAGEO/MURATA | DIGIKEY | |
10 | 1 | R20 | 1E 5% 1/4W THT | YAGEO/MURATA | DIGIKEY | |
11 | 5 | SW1,R21,R22,R23,R24 | DNP | DIGIKEY | DO NOT INSTALL | |
12 | 1 | U1 | ATMEGA328 DIP28 | MICROCHIP | DIGIKEY | ATMEGA328-PU-ND |
13 | 1 | Y1 | 16MHZ | ECS INC | DIGIKEY | X1103-ND |
14 | 1 | SOCKET FOR ATMEGA328 | 28 DIP NARROW SOCKET | ON SHORE TECH | DIGIKEY | ED3050-5-ND |
15 | 1 | D17 | RED LED 3MM | KINGBRIGHT | DIGIKEY | 754-1895-ND |
Connections