#include <Servo.h>
const int trigPin = 10;
const int echoPin = 9;
const int servoPin = 5;
Servo myServo;
void setup() {
Serial.begin(9600);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
myServo.attach(servoPin);
myServo.write(0); // Tutup posisi awal
}
void loop() {
long duration, distance;
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
distance = (duration / 2) / 29.1; // Hitung jarak dalam cm
if (distance <= 20) { // Jika jarak kurang dari atau sama dengan 20 cm
myServo.write(90); // Buka tutup
delay(2000); // Tunggu 2 detik
myServo.write(0); // Tutup kembali
}
delay(500);
}