#include <Ultrasonic.h>
#include <Servo.h>
//ultrasonic sensor
int ultraTrigPin=11;
int ultraEchoPin=10;
Ultrasonic ultrasonic(ultraTrigPin, ultraEchoPin);
int distance;
//servo
int servoPin=9;
Servo servo1;
int redLED = 6;
int greenLED = 5;
int blueLED = 4;
int orangeLED = 3;
void setup() {
// put your setup code here, to run once:
servo1.attach(servoPin);
// start the monitor so we can view the distance
Serial.begin(9600);
pinMode(redLED, OUTPUT);
pinMode(greenLED, OUTPUT);
pinMode(blueLED, OUTPUT);
pinMode(orangeLED, OUTPUT);
digitalWrite(redLED, LOW);
digitalWrite(greenLED, LOW);
digitalWrite(blueLED, LOW);
digitalWrite(orangeLED, LOW);
}
void loop() {
// put your main code here, to run repeatedly:
distance = ultrasonic.read(CM);
Serial.print("Distance in CM: ");
Serial.println(distance);
//if distance < 50 then
if (distance <= 50){
servo1.write(0);
digitalWrite(redLED, HIGH);
digitalWrite(greenLED, LOW);
digitalWrite(blueLED, LOW);
digitalWrite(orangeLED, LOW);
}
//if distance > 50 but < 100 then
else if (distance <= 100){
servo1.write(90);
digitalWrite(redLED, LOW);
digitalWrite(greenLED, HIGH);
digitalWrite(blueLED, LOW);
digitalWrite(orangeLED, LOW);
}
//if distance > 50 but < 100 then
else if (distance <= 300){
servo1.write(180);
digitalWrite(redLED, LOW);
digitalWrite(greenLED, LOW);
digitalWrite(blueLED, HIGH);
digitalWrite(orangeLED, LOW);
}
else{
servo1.write(270);
digitalWrite(redLED, LOW);
digitalWrite(greenLED, LOW);
digitalWrite(blueLED, LOW);
digitalWrite(orangeLED, HIGH);
}
delay(1000);
}