#include <Wire.h>
#include <Servo.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);
const int TRIG_PIN = 4;
const int ECHO_PIN = 2;
#define DISTANCE_THRESHOLD 10
float duration_us, distance_cm;
Servo servo1;
void setup() {
Serial.begin (9600);
lcd.init();
lcd.backlight();
pinMode(TRIG_PIN, OUTPUT);
pinMode(ECHO_PIN, INPUT);
servo1.attach(7);
}
void loop() {
digitalWrite(TRIG_PIN, HIGH);
delayMicroseconds(10);
digitalWrite(TRIG_PIN, LOW);
duration_us = pulseIn(ECHO_PIN, HIGH);
distance_cm = 0.017 * duration_us;
if (distance_cm < DISTANCE_THRESHOLD)
{
servo1.write(90);
lcd.clear();
lcd.setCursor(2,0);
lcd.print("Terimakasih");
}
else
{
servo1.write(0);
servo1.write(0);
lcd.clear();
lcd.setCursor(2,0);
lcd.print("Buang Sampah");
lcd.setCursor(1,1);
lcd.print("Pada Tempatnya");
delay(5000);
lcd.clear();
lcd.setCursor(4,0);
lcd.print("Jagalah");
lcd.setCursor(2,1);
lcd.print("Kebersihan");
delay(5000);
}
delay(1000);
}