#define trig 4
#define echo 5
#define red 7
#define yellow 8
#define green 9
#define buzz 10
int distance =0;
void output_led(int);
void setup() {
Serial.begin(9600);
pinMode(trig, OUTPUT);
pinMode(echo, INPUT);
pinMode(red, OUTPUT);
pinMode(yellow, OUTPUT);
pinMode(green, OUTPUT);
pinMode(buzz, OUTPUT);
}
void loop() {
// put your main code here, to run repeatedly:
digitalWrite(trig, HIGH);
delayMicroseconds(10);
digitalWrite(trig, LOW);
int duration = pulseIn(echo, HIGH);
distance = int(duration/58);
delay(1000);
Serial.print('Distance in cm: ');
Serial.println(distance);
output_led(distance);
}
void output_led( int distance)
{
if (distance>100)
{
digitalWrite(green, HIGH);
digitalWrite(red, LOW);
digitalWrite(yellow, LOW);
delay(1000);
}
else if(distance>=30 && distance<= 100 )
{
digitalWrite(green, LOW);
digitalWrite(red, LOW);
digitalWrite(yellow, HIGH);
delay(1000);
}
else
{
digitalWrite(green, LOW);
digitalWrite(red, HIGH);
digitalWrite(yellow, LOW);
tone(buzz, 400);
delay(1000);
noTone(buzz);
delay(1000);
}
}