Rushabh Jain
Published © GPL3+

Fluid Level Indicator and Controller

A feedback control system which can control the given fluid level and display us the water level in a tank.

BeginnerFull instructions provided3 hours14,518
Fluid Level Indicator and Controller

Things used in this project

Hardware components

Arduino UNO
Arduino UNO
×1
Ultrasonic Sensor - HC-SR04 (Generic)
Ultrasonic Sensor - HC-SR04 (Generic)
×1

Software apps and online services

Arduino IDE
Arduino IDE

Story

Read more

Schematics

water_level_bb_joEgADwfHj.jpg

Code

water level controller

Arduino
int tankPump=3;
int reserviorPump=2;
int trigPin = 9;//white
int echoPin = 10;//brown
long duration;
int distance;


void setup(){
  Serial.begin(9600);
  pinMode(tankPump,OUTPUT);
  pinMode(reserviorPump,OUTPUT);
 pinMode(trigPin, OUTPUT); // Sets the trigPin as an Output
pinMode(echoPin, INPUT); // Sets the echoPin as an Input
}

void loop(){
ultrasound();
pump();
}

void ultrasound(){
  
  digitalWrite(trigPin, LOW);
delayMicroseconds(2);
// Sets the trigPin on HIGH state for 10 micro seconds
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
// Reads the echoPin, returns the sound wave travel time in microseconds
duration = pulseIn(echoPin, HIGH);
// Calculating the distance
distance= duration*0.034/2;
// Prints the distance on the Serial Monitor
Serial.print("Distance:");
Serial.println(distance);
delay(1000);
}


void pump(){
  if (distance > 10){
    digitalWrite(tankPump,HIGH);
  digitalWrite(reserviorPump,LOW);
  }
  else{
    digitalWrite(tankPump,LOW);
  }
  if(distance < 6){
    digitalWrite(reserviorPump,HIGH);
    digitalWrite(tankPump,LOW);
  }
  else{
    digitalWrite(reserviorPump,LOW);
 }
 }

Credits

Rushabh Jain

Rushabh Jain

10 projects • 43 followers
An engineer who loves to solve problems with technology. Expertise in Embedded firmware and software.

Comments