#include <Servo.h>;
#include <LiquidCrystal.h>;
Servo servo1;
const int pinTRIGGER = 14;
const int pinECHO = 15;
const int pinTGR = 11;
const int pinEC = 12;
float durasi, jarak;
float durasidua, jarakdua;
LiquidCrystal lcd(7, 6, 5, 4, 3, 2);
void setup() {
Serial.begin(9600);
lcd.begin(16, 2);
lcd.setCursor (6, 0);
lcd.print("halo");
delay (1000);
lcd.clear();
servo1.attach(10);
servo1.write(0);
pinMode(pinTRIGGER, OUTPUT);
pinMode(pinECHO, INPUT);
pinMode(pinTGR, OUTPUT);
pinMode(pinEC, INPUT);
}
void loop() {
readSensor_1();
delay(100);
}
void readSensor_1() {
digitalWrite(pinTRIGGER, HIGH);
delayMicroseconds(10);
digitalWrite(pinTRIGGER, LOW);
durasi = pulseIn(pinECHO, HIGH);
jarak = ((durasi * 0.034) / 2);
Serial.print("Jarak: ");
Serial.println(jarak);
if (jarak <= 5)
{
servo1.write(0);
delay(1000);
lcd.clear();
lcd.setCursor (2, 0);
lcd.print("sampah penuh");
delay(1000);
}
else if (jarak > 10) {
readSensor_2();
}
}
void readSensor_2 ()
{
digitalWrite(pinTGR, HIGH);
delayMicroseconds(10);
digitalWrite(pinTGR, LOW);
durasidua = pulseIn(pinEC, HIGH);
jarakdua = ((durasidua * 0.035) / 2);
Serial.print("Jarakdua: ");
Serial.println(jarakdua);
if (jarakdua <= 50)
{
servo1.write(180);
delay(1000);
lcd.setCursor (2, 0);
lcd.print("sampah kosong");
lcd.setCursor (4, 1);
lcd.print("boleh isi");
}
else
{
servo1.write(0);
delay(1000);
}
}