#include <Servo.h>
// Deklarasi pin ,
const int trigPin = 9;
const int echoPin = 8;
const int servoPin = 10;
Servo servo;
void setup() {
// Inisialisasi komunikasi serial
Serial.begin(9600);
// Setup Pin
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
// Inisialisasi servo
servo.attach(servoPin) ;
servo.write(0); // tutup tutup tong sampah
}
void loop() {
long duration, distance ;
// kirim sinyal ke ultrasonic sensor
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH) ;
delayMicroseconds(10) ;
digitalWrite(trigPin, LOW);
// Hitung durasi sinyal yang kembali
duration = pulseIn(echoPin, HIGH);
// Konversi durasi ke jarak (cm)
distance = duration * 0.034 / 2 ;
// Jika jarak < 28 cm, buka tutup tong sampah
if (distance < 20) {
servo.write(90); // Buka tutup
} else {
servo.write(0); // Tutup tutup
}
delay(500);
}