#include <Servo.h>
Servo palang; // Objek servo
const int trigPin = 9, echoPin = 10, servoPin = 3;
void setup() {
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
palang.attach(servoPin);
palang.write(90); // Palang tertutup (posisi awal)
}
void loop() {
int jarak = hitungJarak();
if (jarak < 15) {
palang.write(0); // Buka palang
delay(5000); // Tunggu 5 detik
palang.write(90); // Tutup palang
delay(500);
}
}
int hitungJarak() {
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
long durasi = pulseIn(echoPin, HIGH);
return durasi * 0.034 / 2; // Menghitung jarak
}