Level Control circuit in Proteus
Description:
level control circuit is made up of different components as shown in figure basically it is main purpose to maintain the level of any tank or keep the level at a set point the ultrasonic sensor detects the level of the tank and generate the output signal gives to the Arduino Uno controller input pin. The controller generates the output signal as per the algorithm to the user define set point then 5volt relay operates in the controller output signal to on-off the motor.
Components:
1.Arduino Uno
2.LCD display LM061L
3.Motor
4.Relay (5volt)
5.Potantiometer as POT-HG
6.Ultrasonic sensor
Software:
1.Arduino IDE
2.Programing
Programing:’
# include "LiquidCrystal.h" //lcd libary
LiquidCrystal lcd(2, 3, 4, 5, 6, 7); //LCD object Parameters: (rs, enable, d4, d5, d6, d7)
const int trigPin = 12; //trig pin connection
const int echoPin = 11; //echopin connection
long duration;
int distanceCm;
float liquid;
void setup() { // setup perameter
lcd.begin(16,2);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(8,OUTPUT);
lcd.setCursor(0,0);
lcd.print(" Distance ");
lcd.setCursor(0,1);
lcd.print(" Measurement ");
delay(2000);
lcd.clear();
lcd.setCursor(0,0);
lcd.print(" Made By ");
lcd.setCursor(0,1);
lcd.print("rf230");
delay(2000);
lcd.clear();
}
void loop() { // loop of flow program
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
distanceCm= duration*0.034/2;
lcd.setCursor(0,0);
lcd.print("Distance Measur.");
delay(10);
lcd.setCursor(0,1);
lcd.print("Distance:");
lcd.print(distanceCm);
lcd.print(" Cm ");
delay(10);
if(distanceCm<=500)
{
digitalWrite(8,HIGH);
}
else if(distanceCm>=1000)
{
digitalWrite(8,LOW);
}
}
# include "LiquidCrystal.h" //lcd libary
LiquidCrystal lcd(2, 3, 4, 5, 6, 7); //LCD object Parameters: (rs, enable, d4, d5, d6, d7)
const int trigPin = 12; //trig pin connection
const int echoPin = 11; //echopin connection
long duration;
int distanceCm;
float liquid;
void setup() { // setup perameter
lcd.begin(16,2);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(8,OUTPUT);
lcd.setCursor(0,0);
lcd.print(" Distance ");
lcd.setCursor(0,1);
lcd.print(" Measurement ");
delay(2000);
lcd.clear();
lcd.setCursor(0,0);
lcd.print(" Made By ");
lcd.setCursor(0,1);
lcd.print("rf230");
delay(2000);
lcd.clear();
}
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
distanceCm= duration*0.034/2;
lcd.setCursor(0,0);
lcd.print("Distance Measur.");
delay(10);
lcd.setCursor(0,1);
lcd.print("Distance:");
lcd.print(distanceCm);
lcd.print(" Cm ");
delay(10);
if(distanceCm<=500)
{
digitalWrite(8,HIGH);
}
else if(distanceCm>=1000)
{
digitalWrite(8,LOW);
}
}
Notes: you make sure that the require library you have already download as "LiquidCrysrtal.h". go to tool bar select manage libraries then search LiquidCrysrtal.h and click on install button.
No comments:
Post a Comment