#include "SerialMP3Player.h"
#include <Servo.h>
#include <LCD_I2C.h>
#define TX 11
#define RX 10
LCD_I2C lcd(0x27, 16, 2);
Servo myservo;
SerialMP3Player mp3(RX,TX);
//int pos = 0;
// sensor 1 Jarak Orang
const int TRIGPIN = 12;
const int ECHOPIN = 11;
//sensor 2 Volume Sampah
const int TRIGPIN_Vol = 7;
const int ECHOPIN_Vol = 6;
long timer;
int jarak;
//
long timer_volume;
int jarak_volume;
void setup()
{
Serial.begin(9600);
lcd.begin();
lcd.backlight();
myservo.attach(9);
mp3.begin(9600); // start mp3-communication
//delay(500); // wait for init
pinMode(ECHOPIN, INPUT);
pinMode(TRIGPIN, OUTPUT);
//
pinMode(ECHOPIN_Vol, INPUT);
pinMode(TRIGPIN_Vol, OUTPUT);
pinMode(5, OUTPUT); // hijau
pinMode(4, OUTPUT);// kuning
pinMode(3, OUTPUT);//merah
lcd.setCursor(1, 0);
lcd.print("Tempat Sampah");
lcd.setCursor(5, 1);
lcd.print("CERDAS");
delay(500);
//lcd.clear();
myservo.write(0);
// MP3
mp3.sendCommand(CMD_SEL_DEV, 0, 2); //select sd-card
delay(500);
}
void loop()
{
digitalWrite(TRIGPIN, LOW);
delayMicroseconds(2);
digitalWrite(TRIGPIN, HIGH);
delayMicroseconds(10);
digitalWrite(TRIGPIN, LOW);
timer = pulseIn(ECHOPIN, HIGH);
//
digitalWrite(TRIGPIN_Vol, LOW);
delayMicroseconds(2);
digitalWrite(TRIGPIN_Vol, HIGH);
delayMicroseconds(10);
digitalWrite(TRIGPIN_Vol, LOW);
timer_volume = pulseIn(ECHOPIN_Vol, HIGH);
jarak = timer/58;
jarak_volume = timer_volume / 58;
//jarak = timer/148;
Serial.print ("Jarak :");
Serial.print (jarak);
Serial.println (" CM");
Serial.print ("Jarak :");
Serial.print (jarak_volume);
Serial.println (" CM");
if (jarak <= 50 && jarak_volume >= 30){
digitalWrite(5, HIGH);
lcd.clear();
lcd.setCursor(1, 0);
lcd.print("Tempat Sampah");
lcd.setCursor(1, 1);
lcd.print("Sampah Kering");
myservo.write(90);
mp3.play();
delay(5000);
myservo.write(0);
}
if (jarak <= 50 && jarak_volume <= 30){
myservo.write(0);
digitalWrite(5, HIGH);
lcd.clear();
lcd.setCursor(5, 0);
lcd.print("SAMPAH");
lcd.setCursor(5, 1);
lcd.print("PENUH");
delay(500);
}
else{
myservo.write(0);
lcd.clear();
lcd.setCursor(1, 0);
lcd.print("Tempat Sampah");
lcd.setCursor(5, 1);
lcd.print("CERDAS");
delay(1000);
}
}
// Tambahakn LED jika 100 cm LED Hijau Menyala. Kalau 200 cm LED Merah