const int trigPin = 7;
const int echoPin = 6;
const int ledR = 9;
const int ledY = 10;
const int ledG = 11;
const int buzzer = 5;
#include <Servo.h>
Servo servo;
 
 
void setup() {
    Serial.begin(9600);
    pinMode(trigPin, OUTPUT);
    pinMode(echoPin, INPUT);
    pinMode(ledR, OUTPUT);
    pinMode(ledY, OUTPUT);
    pinMode(ledG, OUTPUT);
    pinMode(buzzer, OUTPUT);
    servo.attach(3);
}
 
void loop() {
   long durationindigit, distanceincm;
   digitalWrite(trigPin,LOW);
   delayMicroseconds(2);
   digitalWrite(trigPin,HIGH);
   delayMicroseconds(2);
   digitalWrite(trigPin,LOW);
 
   durationindigit = pulseIn(echoPin, HIGH);
 
   distanceincm = (durationindigit * 0.034) / 2;
   
   int angle = map(distanceincm, 0, 100, 0, 180);
    servo.write(angle);
 
   if(distanceincm > 100){ // 101 - infinity
      digitalWrite(ledR, LOW);
      digitalWrite(ledY, LOW);
      digitalWrite(ledG, LOW);
      tone(buzzer, 1000);
      noTone(buzzer);
      delay(1000);
      digitalWrite(ledR, LOW);
      digitalWrite(ledY, HIGH);
      digitalWrite(ledG, LOW);
      tone(buzzer, 1000);
      noTone(buzzer);
      delay(1000);
   }
   else if(distanceincm <= 100 && distanceincm > 70){
      digitalWrite(ledR, LOW);
      digitalWrite(ledY, LOW);
      digitalWrite(ledG, HIGH);
      tone(buzzer, 300);
   }
   else if(distanceincm <= 70 && distanceincm > 40){ 
      digitalWrite(ledR, LOW);
      digitalWrite(ledY, HIGH);
      digitalWrite(ledG, HIGH);
      tone(buzzer, 600);
   }
   else if(distanceincm >= 0 && distanceincm <= 10){
      digitalWrite(ledR, LOW);
      digitalWrite(ledY, LOW);
      digitalWrite(ledG, LOW);
      tone(buzzer, 1000);
      noTone(buzzer);
      delay(1000);
      digitalWrite(ledR, LOW);
      digitalWrite(ledY, HIGH);
      digitalWrite(ledG, LOW);
      tone(buzzer, 1000);
      noTone(buzzer);
      delay(1000);
   }
   else if(distanceincm <= 40 && distanceincm >= 11){ 
      digitalWrite(ledR, HIGH);
      digitalWrite(ledY, HIGH);
      digitalWrite(ledG, HIGH);
      tone(buzzer, 900);
   }
 
}
 
$abcdeabcde151015202530fghijfghij