Water Level Sensor

Z2M Part: EMS-00018-A

Detect water level with analog water level sensor.

Circuit Diagram
Circuit diagram for Water Level Sensor
Wire Connections & Pin Configuration

Wire Color Connections:

Yellow → A5 to sensor (code uses A5), Pins 3–5 to Red/Yellow/Green LEDs
Red → 5V to sensor VCC
Black → GND to sensor, LED cathodes

Pin Configuration:

Arduino Analog Pin A0 → Water level sensor output (or Digital D0)
Arduino 5V → Water level sensor VCC
Arduino GND → Water level sensor GND
Arduino Code
Edit
// Calibration thresholds (adjust based on your sensor and setup)
int lowerThreshold = 600;
int upperThreshold = 650;

// Sensor pin
#define waterlevel A5

// LED pins
int redLED = 3;
int yellowLED = 4;
int greenLED = 5;

void setup() {
  Serial.begin(9600);        // Initialize Serial Monitor
  pinMode(waterlevel, INPUT);

  // Set LED pins as output
  pinMode(redLED, OUTPUT);
  pinMode(yellowLED, OUTPUT);
  pinMode(greenLED, OUTPUT);

  // Turn off all LEDs initially
  digitalWrite(redLED, LOW);
  digitalWrite(yellowLED, LOW);
  digitalWrite(greenLED, LOW);
}

void loop() {
  int level = analogRead(waterlevel);  // Read water level sensor value
  Serial.print(\"Sensor Reading: \");
  Serial.println(level);

  if (level > 0 && level < 500) {
    Serial.println(\"Water Level: Empty\");
    digitalWrite(redLED, LOW);
    digitalWrite(yellowLED, LOW);
    digitalWrite(greenLED, LOW);
  }
  else if (level > 500 && level <= lowerThreshold) {
    Serial.println(\"Water Level: Low\");
    digitalWrite(redLED, HIGH);
    digitalWrite(yellowLED, LOW);
    digitalWrite(greenLED, LOW);
  }
  else if (level > lowerThreshold && level <= upperThreshold) {
    Serial.println(\"Water Level: Medium\");
    digitalWrite(redLED, LOW);
    digitalWrite(yellowLED, HIGH);
    digitalWrite(greenLED, LOW);
  }
  else if (level > upperThreshold) {
    Serial.println(\"Water Level: High\");
    digitalWrite(redLED, LOW);
    digitalWrite(yellowLED, LOW);
    digitalWrite(greenLED, HIGH);
  }

  delay(1000); // Delay 1 second before next reading
}

Instruction Details

Wiring: Connect water level sensor VCC to 5V, GND to GND, output to Analog Pin A5. Connect red LED to Digital Pin 3, yellow to Pin 4, green to Pin 5 (each via 220Ω), cathodes to GND.
Library: Not required (built-in).
Upload Code: Tools → Board → Arduino Uno. Tools → Port → select your COM port. Click Upload button.
View Output: Red=Low, yellow=Medium, green=High. Open Serial Monitor at 9600 baud for level. Submerge sensor to test.

How to Use

  1. Connect the required components as per the Pin Configuration above
  2. Open Arduino IDE and create a new sketch
  3. Copy and paste the code above
  4. Select your Arduino board and COM port from Tools menu
  5. Click the Upload button to upload the code to your Arduino
  6. Open Serial Monitor (if applicable) to see the output

Components Required

  • Arduino Uno
  • Water Level Sensor Module
  • Red LED
  • Yellow LED
  • Green LED
  • 3× 220Ω Resistors
  • Breadboard
  • Jumper Wires

Category: Sensors