#include <Servo.h>

Servo servo;
const int trigPin = 6;
const int echoPin = 5;

int redPin = 9;
int bluePin = 10;
int greenPin = 11;

int buzzer = 12;

void setup()
{
pinMode(trigPin,OUTPUT);
pinMode(echoPin,INPUT);
servo.attach(3);
  
pinMode(buzzer,OUTPUT);
  
pinMode(redPin,OUTPUT);
pinMode(greenPin,OUTPUT);
pinMode(bluePin,OUTPUT);
}

void setColor(int red, int green, int blue)
{
  red = 255 - red;
  green = 255 - green;
  blue = 255 - blue;
  
  analogWrite(redPin,red);
  analogWrite(bluePin,blue);
  analogWrite(greenPin,green);
}

void loop()
{
  int duration, distance;
  
  digitalWrite(trigPin,HIGH);
  delayMicroseconds(10);
  digitalWrite(trigPin,LOW);
  
  duration = pulseIn(echoPin,HIGH);
  distance = (duration / 2) / 29.1;
  
  if (distance <= 50 && distance >= 0)
  {
    servo.write(50);
    setColor(0,0,255);
    digitalWrite(buzzer,HIGH);
    delay(100);
  }
  else
  {
    servo.write(160);
    setColor(255,0,0);
  }
  delay(100);
}