const int pinT = 9;
const int pinE = 8;
const int LEDR = 4;
const int LEDG = 5;
const int LDR = 7;
const int buzzer = 6;
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);
void setup() {
//LCD
lcd.init();
lcd.backlight();
// Display names on the LCD
lcd.setCursor(0, 0);
lcd.print("UAS_Embedded System");
lcd.setCursor(0, 1);
lcd.print("Dosen: Rudi H,MT");
delay(3000); // Display for 3 seconds
lcd.clear();
// Display names on the LCD
lcd.setCursor(0, 0);
lcd.print("Mahasiswa:DIga Afrian");
lcd.setCursor(0, 1);
lcd.print("NIM:1083232129");
delay(3000); // Display for 3 seconds
lcd.clear();
//ULTRASONIK
pinMode(pinT, OUTPUT);
pinMode(pinE, INPUT);
Serial.begin(9600);
//LDR
pinMode(LDR, INPUT );
//LAMPU
pinMode(LEDR, OUTPUT);
pinMode(LEDG, OUTPUT);
//BUZZER
pinMode(buzzer, OUTPUT);
}
void loop() {
//ultrasonik
int waktu, jarak;
digitalWrite(pinT, LOW);
delayMicroseconds(2);
digitalWrite(pinT, HIGH);
delayMicroseconds(10);
digitalWrite(pinT, LOW);
waktu = pulseIn(pinE,HIGH);
jarak = (waktu/2)/29.1;
Serial.print("Jarak : ");
Serial.print(jarak);
Serial.println(" cm");
//LDR
int nSensor = digitalRead(LDR);
//JIKA JARAK SAMA DENGAN 10 ATAU DIBAWAH 10 FUNGSI INI BERFUNGSI
if(jarak <= 10){
//lampu
digitalWrite(LEDG, HIGH);
digitalWrite(LEDR, LOW);
//JIKA GELAP MAKA INI YANG BEKERJA
if(nSensor == 0){
lcd.setCursor(0,0);
lcd.print("Sampah");
lcd.setCursor(3,1);
lcd.print("Organik ");
digitalWrite(buzzer, HIGH);}
//JIKA TERANG FUNGSI INI YANG BEKERJA
else {
lcd.setCursor(0,0);
lcd.print("Sampah");
lcd.setCursor(3,1);
lcd.print("Anorganik");
digitalWrite(buzzer, HIGH);
}
}
//JIKA JARAK DIATAS 10 MAKA FUNGSI INI YANG BEKERJA
else{
lcd.clear();
digitalWrite(buzzer, LOW);
digitalWrite(LEDR, HIGH);
digitalWrite(LEDG, LOW);
}
}