#include <LiquidCrystal_I2C.h>
#include <Wire.h>
#include <Servo.h>
Servo myServo;
LiquidCrystal_I2C lcd(0x27, 16,2);
#define echoPin A1
#define trigPin A2
int pos = 0;

#define pirPin 2
#define buzzerPin 11
int statusPir = LOW;
int gerakanPir;

long durasi;
int jarak,jarak_max = 250;

void setup() {
  pinMode(A1,INPUT);
  pinMode(A2,OUTPUT);
  pinMode(2,INPUT);

  myServo.attach(3);
  Wire.begin();
  lcd.init();
  lcd.begin(16,2);
  lcd.backlight();
  lcd.begin(16,2);
  Serial.begin(9600);
}

void loop() {
  digitalWrite(A2,LOW);
  delayMicroseconds(2);
  digitalWrite(A2,HIGH);
  delayMicroseconds(11);
  digitalWrite(A2,LOW);

  durasi = pulseIn(A1,HIGH);
  jarak = durasi *0,034 / 2;

  Serial.println("jarak:");
  Serial.println(jarak);
  Serial.println(" cm ");
  delay(1000);

 
  if (jarak < jarak_max){
    lcd.clear();
    lcd.setCursor(0,0);
    lcd.println("Jarak:");
    lcd.println(jarak);
    lcd.println(" cm ");
  gerakanPir = digitalRead(2);
  if(gerakanPir == HIGH) 
  

    if(statusPir == LOW) 
     lcd.setCursor(0,0);
     lcd.println("Ada Gerakan!");
     myServo.write(0);
}

    
    else{
      digitalWrite(2,LOW);
      digitalWrite(3,HIGH);
    lcd.setCursor(0,0);
    lcd.println("Tdk Ada Grkn!");
    lcd.println(jarak);

    lcd.setCursor(1,1);
    lcd.println("lampu mati");
    myServo.write(180);
  }
  delay(1000);
 }