Mohd Sohail
Published © GPL3+

Fix Water Level Sensor Accuracy NOW!

Achieve Perfect Accuracy for Your Water Tank.

IntermediateFull instructions provided30 minutes235
Fix Water Level Sensor Accuracy NOW!

Things used in this project

Hardware components

Arduino UNO
Arduino UNO
×1
Jumper wires (generic)
Jumper wires (generic)
×1
water sensor
×1

Software apps and online services

Arduino IDE
Arduino IDE

Hand tools and fabrication machines

water glass

Story

Read more

Code

Analog In Out Serial

Arduino
/*
  Analog input, analog output, serial output

  Reads an analog input pin, maps the result to a range from 0 to 255 and uses
  the result to set the pulse width modulation (PWM) of an output pin.
  Also prints the results to the Serial Monitor.

  The circuit:
  - potentiometer connected to analog pin 0.
    Center pin of the potentiometer goes to the analog pin.
    side pins of the potentiometer go to +5V and ground
  - LED connected from digital pin 9 to ground through 220 ohm resistor

  created 29 Dec. 2008
  modified 9 Apr 2012
  by Tom Igoe

  This example code is in the public domain.

  https://www.arduino.cc/en/Tutorial/BuiltInExamples/AnalogInOutSerial
*/

// These constants won't change. They're used to give names to the pins used:
const int analogInPin = A0;  // Analog input pin that the potentiometer is attached to
const int analogOutPin = 9; // Analog output pin that the LED is attached to

int sensorValue = 0;        // value read from the pot
int outputValue = 0;        // value output to the PWM (analog out)

void setup() {
  // initialize serial communications at 9600 bps:
  Serial.begin(9600);
}

void loop() {
  // read the analog in value:
  sensorValue = analogRead(analogInPin);
  // map it to the range of the analog out:
  outputValue = map(sensorValue, 0, 1023, 0, 255);
  // change the analog out value:
  analogWrite(analogOutPin, outputValue);

  // print the results to the Serial Monitor:
  Serial.print("sensor = ");
  Serial.print(sensorValue);
  Serial.print("\t output = ");
  Serial.println(outputValue);

  // wait 2 milliseconds before the next loop for the analog-to-digital
  // converter to settle after the last reading:
  delay(2);
}

Updated Code

Arduino
// https://www.youtube.com/channel/UCaXI2PcsTlH5g0et67kdD6g  //
// Updated code for Tank water level Monitoring //
// By MOHD SOHAIL //

int sensorval = 0;  // holds the value
int sensorpin = A0; // sensor pin used  

void setup() { 
  
  Serial.begin(9600);
  pinMode(sensorpin, INPUT);
} 

void loop() { 
  sensorval = analogRead(sensorpin);
  
  if (sensorval<=200)
  { 
      Serial.println("Water Level: Empty"); 
    }

    else if (sensorval>=200 && sensorval<=450)
    {
      Serial.println("Water Level: Low"); 
      }

      else if (sensorval>=450 && sensorval<=620)
      {
        Serial.println("Water Level: Medium");
        }
        else if (sensorval>620)

        {
        Serial.println("Water Level: High"); 
        } 
       delay(1000);
        }

Credits

Mohd Sohail

Mohd Sohail

10 projects • 4 followers
I'm a Robotics Engineer and Freelancer

Comments