//Tong sampah otomatis
#include <ESP32Servo.h> //memanggil library servo
Servo myservo; //definisikan variabel myservo sebagai servo
int pos = 0; //variabel untuk memposisikan servo
const int pinSensor = 5; //inisialisasi pin sensor
const int ledHijau = 2; //inisialisasi pin led hijau
const int ledMerah = 4; //inisialisasi pin led merah
const int servo = 18; //inisialisasi pin servo
void setup() {
pinMode (pinSensor, INPUT); //menetapkan pin 2 sebagai input
pinMode (ledHijau, OUTPUT); //menetapkan pin 7 sebagai input
pinMode (ledMerah, OUTPUT); //menetapkan pin 8 sebagai input
servo.attach(6); //pin servo berada di pin 6 arduino
}
void loop() {
//membaca data dari pin 2 yang dihubungkan ke sensor
int nilaiSensor = digitalRead (pinSensor);
//Jika sensor mendeteksi halangan, maka tetapkan servo di posisi 0 derajat
//dan nyalakan led merah serta matikan led hijau selama 5 detik
if (nilaiSensor == LOW) {
pos = 0;
servo.write(pos);
digitalWrite (ledMerah, HIGH);
digitalWrite (ledHijau, LOW);
delay (5000); //durasi tutup terbuka (5 detik)
}
//Jika sensor tidak mendeteksi halangan, maka tetapkan servo di posisi 90 derajat
//dan nyalakan led hijau serta matikan led merah
else {
pos = 80;
servo.write(pos);
digitalWrite (ledMerah, LOW);
digitalWrite (ledHijau, HIGH);
}
}