#include <LiquidCrystal_I2C.h>
#include <Servo.h>
LiquidCrystal_I2C lcd(0x27,16,2);
Servo servoku;
int led = 2 ;
int bujur = 4;
int tr = 7;
int eco = 8;
void setup() {
servoku.attach(3);
pinMode(led, OUTPUT);
Serial.begin(9600);
pinMode(tr, OUTPUT);
pinMode(eco, INPUT);
pinMode(bujur, OUTPUT);
lcd.init();
lcd.backlight();
}
void loop() {
digitalWrite(tr, LOW);
delayMicroseconds(2);
digitalWrite(tr, HIGH);
delayMicroseconds(10);
digitalWrite(tr, LOW);
long waktu,jarak;
waktu = pulseIn(eco,HIGH);
jarak = (waktu *0.034)/2;
Serial.println(jarak);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Tong Sampah Otomatis Berbasis Internet of Things");
lcd.scrollDisplayRight ();
delay(1000);
lcd.clear();
lcd.setCursor(0,1);
lcd.print("Inovasi Prakerin TKJ 2024");
lcd.scrollDisplayRight ();
delay(1000);
if(jarak<100){
servoku.write(180);
delay(500);
digitalWrite(led, HIGH);
delay(1000);
}
else{
servoku.write(0);
digitalWrite(led,LOW);
}
if (jarak<200){
tone (bujur,100);
delay(100);
tone (bujur,10);
delay(100);
}
else{
noTone (bujur);
delay(2);
}
}