#include <LiquidCrystal.h> //library untuk LCD
#include <Servo.h> //library untuk servo
Servo myservo;
LiquidCrystal lcd(12,13,5,4,3,2); //(RS,Enable,D4,D5,D6,D7) Pin LCD
const int TrigPin = 8; //untuk inisialisasi TrigPin pada pin 8
const int EchoPin = 9; //untuk inisialisasi TrigPin pada pin 9
float timer; //inisialisasi nilai sampai desimal pada timer
float jarak; //inisialisasi nilai sampai desimal pada jarak
const int TrigPin2 = 6;
const int EchoPin2 = 6;
long isi,kapasitas;
void setup() {
// put your setup code here, to run once:
lcd.begin(16,2); //Setup pada lcd
Serial.begin(9600); //untuk serial penerimaan data pada arduino
pinMode(EchoPin, INPUT);
pinMode(TrigPin, OUTPUT);
pinMode(EchoPin2, INPUT);
pinMode(TrigPin2, OUTPUT);
myservo.attach(10); //Setup pada servo, PWM pada pin 10
delay(1000);
}
void loop() {
// put your main code here, to run repeatedly:
digitalWrite(TrigPin,HIGH);
delayMicroseconds(10);
digitalWrite(TrigPin, LOW);
timer = pulseIn(EchoPin,HIGH);
jarak = timer/58;
delay(100);
if (jarak <= 10 )
{myservo.write(90);
lcd.setCursor (4,1);
lcd.print(" ");
delay(500);
lcd.setCursor (4,1);
lcd.print("Terbuka");
delay(3000);
}
else {myservo.write(0);
lcd.setCursor (4,1);
lcd.print(" ");
delay(500);
lcd.setCursor (4,1);
lcd.print("Tertutup");
delay(3000);
}
{digitalWrite(TrigPin2,HIGH);
delayMicroseconds(10);
digitalWrite(TrigPin2, LOW);
isi = pulseIn(EchoPin2,HIGH);
kapasitas = isi/58 ;
delay(100);
if ((kapasitas>1)&&(kapasitas<=5))
{
lcd.clear();
lcd.setCursor (2,0);
lcd.print ("KAPASITAS ");
lcd.println("100%");
delay(1000);
}
else if ((kapasitas>5)&&(kapasitas<11))
{lcd.clear();
lcd.setCursor (2,0);
lcd.print ("KAPASITAS ");
lcd.println("75%");
delay(1000);
}
else if ((kapasitas>10)&&(kapasitas<16))
{lcd.clear();
lcd.setCursor (2,0);
lcd.print ("KAPASITAS ");
lcd.println("50%");
delay(1000); }
else if ((kapasitas>15)&&(kapasitas<21))
{lcd.clear();
lcd.setCursor (2,0);
lcd.print ("KAPASITAS ");
lcd.println("25%");
delay(1000);
}
else if ((kapasitas>24)&&(kapasitas<28))
{lcd.clear();
lcd.setCursor (2,0);
lcd.print ("KAPASITAS ");
lcd.println("0%");
delay(1000);}
}}