#include <Servo.h>
Servo myservo;
int redPin = 3;
int greenPin = 5;
int bluePin = 6;
const int trigPin = 9;
const int echoPin = 10;
long duration;
int distanceCm, distanceInch;
void setup() {
pinMode(11, OUTPUT);
pinMode(13, OUTPUT);
pinMode(redPin, OUTPUT);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(bluePin, OUTPUT);
pinMode(greenPin, OUTPUT);
pinMode(6, OUTPUT);
myservo.attach(11);
Serial.begin(9600);
}
void loop() {
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
distanceCm = duration * 0.034 / 2;
delay(100);
Serial.println(distanceCm);
if(distanceCm<=200){
setColor(100,0,0);
myservo.write(0);
noTone(13);
}else if(distanceCm<=300){
setColor(0,0,255);
myservo.write(90);
noTone(13);
}else{
setColor(0,255,0);
myservo.write(180);
tone(13,1000);
}
delay(100);
}
void setColor(int redValue, int greenValue, int blueValue) {
analogWrite(redPin, redValue);
analogWrite(greenPin, greenValue);
analogWrite(bluePin, blueValue);
}