#include <Servo.h>
Servo Motor;
void setup() {
Serial.begin(115200);
pinMode(4, OUTPUT);
pinMode(7, OUTPUT);
pinMode(9, INPUT);
pinMode(10, INPUT);
pinMode(12, OUTPUT);
pinMode(13, OUTPUT);
Motor.attach(8);
}
void isi() {
digitalWrite(13, HIGH);
delayMicroseconds(100);
digitalWrite(13, LOW);
int sampah = ((pulseIn(10, HIGH)/58)+1);
Serial.print(String()+ "Isi : " + sampah + " cm | ");
if(sampah < 10) {
Serial.println("Tempat Sampah : Penuh");
digitalWrite(4, HIGH);
}
else {
Serial.println("");
digitalWrite(4, LOW);
}
}
void masuk() {
digitalWrite(12, HIGH);
delayMicroseconds(100);
digitalWrite(12, LOW);
int jarak = ((pulseIn(9, HIGH)/58)+3);
Serial.print(String() + "Sensor : "+ jarak + " cm | ");
if(jarak <= 50) {
Motor.write(180);
Serial.print("Tempat Sampah : Terbuka | ");
digitalWrite(7, HIGH);
}
else {
delay(2000);
Motor.write(0);
Serial.print("Tempat Sampah : Tertutup | ");
digitalWrite(7, LOW);
}
}
void loop() {
masuk();
isi();
}