please someone help me please..
i made a ultrasonic water level indicator with 5 Led & Buzzer....The problem i am facing is that when the water level exceeds his limits the beep did not get turned off..it not get stopped/turned off after 3 seconds.
the code is that
// Arduino programming
#define trigpin 13
#define echopin 12
int led1 = 7;
int led2 = 6;
int led3 = 5;
int led4 = 4;
int led5 = 3;
int buzz6 = 2;
void setup()
{
Serial.begin(9600);
pinMode(trigpin, OUTPUT);
pinMode(echopin, INPUT);
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(led3, OUTPUT);
pinMode(led4, OUTPUT);
pinMode(led5, OUTPUT);
pinMode(buzz6, OUTPUT);
digitalWrite(led1, LOW);
digitalWrite(led2, LOW);
digitalWrite(led3, LOW);
digitalWrite(led4, LOW);
digitalWrite(led5, LOW);
digitalWrite(buzz6, LOW);
}
void loop()
{
int duration, distance;
digitalWrite(trigpin, HIGH);
delayMicroseconds(1000);
digitalWrite(trigpin, LOW);
duration = pulseIn(echopin,HIGH);
distance = ( duration / 2) / 29.1;
Serial.println("cm:");
Serial.println(distance);
if( (distance > 0) && (distance <= 10) )
{
digitalWrite(led1, HIGH);
digitalWrite(led2, HIGH);
digitalWrite(led3, HIGH);
digitalWrite(led4, HIGH);
digitalWrite(led5, HIGH);
digitalWrite(buzz6, HIGH);
delay(3000);
digitalWrite(buzz6, LOW);
delay(3000);
} else
if( (distance > 10) && (distance <= 20) )
{
digitalWrite(led1, LOW);
digitalWrite(led2, HIGH);
digitalWrite(led3, HIGH);
digitalWrite(led4, HIGH);
digitalWrite(led5, HIGH);
digitalWrite(buzz6, LOW);
} else
if( (distance > 20) && (distance <= 30) )
{
digitalWrite(led1, LOW);
digitalWrite(led2, LOW);
digitalWrite(led3, HIGH);
digitalWrite(led4, HIGH);
digitalWrite(led5, HIGH);
digitalWrite(buzz6, LOW);
} else
if( (distance > 30) && (distance <= 40) )
{
digitalWrite(led1, LOW);
digitalWrite(led2, LOW);
digitalWrite(led3, LOW);
digitalWrite(led4, HIGH);
digitalWrite(led5, HIGH);
digitalWrite(buzz6, LOW);
} else
if( (distance > 50) && (distance <= 60) )
{
digitalWrite(led1, LOW);
digitalWrite(led2, LOW);
digitalWrite(led3, LOW);
digitalWrite(led4, LOW);
digitalWrite(led5, HIGH);
digitalWrite(buzz6, LOW);
} else
if( distance > 60 )
{
digitalWrite(led1, LOW);
digitalWrite(led2, LOW);
digitalWrite(led3, LOW);
digitalWrite(led4, LOW);
digitalWrite(led5, LOW);
digitalWrite(buzz6, LOW);
}
}
this is the full code i was uploaded but the problem is that when all the leds are high the buzzer have to sound just for 3 seconds and then it will go turned off completely even water is 100 percent the buzzer dont have to sound,please help me somone and let me know if any mistakes in coding please make it correct