#include <Servo.h>
#define trigPin 13
#define echoPin 12
#define ledG 7
#define ledO 6
#define ledR 5
Servo barrier;
void setup() {
// put your setup code here, to run once:
Serial.begin (9600);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(ledG, OUTPUT);
pinMode(ledO, OUTPUT);
pinMode(ledR, OUTPUT);
barrier.attach(9);
}
void loop() {
// put your main code here, to run repeatedly:
long duration, distance;
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
distance = 0.03435 * (duration / 2);
Serial.println(String(distance+1) + "cm");
if (distance >= 100) {
digitalWrite(ledG, HIGH);
digitalWrite(ledO, LOW);
digitalWrite(ledR, LOW);
barrier.write(90);
}
else if (distance >= 51) {
digitalWrite(ledG, LOW);
digitalWrite(ledO, HIGH);
digitalWrite(ledR, LOW);
barrier.write(90);
}
else if (distance <=50) {
digitalWrite(ledG, LOW);
digitalWrite(ledO, LOW);
digitalWrite(ledR, HIGH);
barrier.write(0);
}
}