#include <Servo.h>
Servo servo;
int const trigPin = 6;
int const echoPin = 5;
void setup() {
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
servo.attach(3); // Servo Motor terhubung ke pin 3
}
void loop() {
int duration, distance;
digitalWrite(trigPin, HIGH);
delay(1);
digitalWrite(trigPin, LOW);
// Mengukur sinyal di pin echo
duration = pulseIn(echoPin, HIGH);
// Menghitung jarak berdasarkan durasi
distance = (duration / 2) / 29.1; // Faktor konversi dari datasheet
// Jika jarak kurang dari atau sama dengan 100 cm dan lebih dari 0 (0 atau kurang berarti di luar jangkauan)
if (distance <= 100 && distance >= 0) {
servo.write(90); // Buka penutup tempat sampah
delay(3000); // Tunggu 3 detik
} else {
servo.write(-90); // Tutup penutup tempat sampah
}
delay(60); // Jeda sebelum mengukur lagi
}