#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <Servo.h>
LiquidCrystal_I2C lcd(0x27,16,2);
Servo servo1;
Servo servo2;
const int trigPin1=7;
const int echopin1=8;
const int trigPin2=9;
const int echoPin2=10;
const int ledPin1=1;
const int ledPin2=2;
long duration1, distance1;
long duration2, distance2;
void setup() {
Serial.begin(9600);
lcd.backlight();
servo1.attach(3);
servo2.attach(5);
digitalWrite(7,OUTPUT);
digitalWrite(8, INPUT);
digitalWrite(9,OUTPUT);
digitalWrite(10, INPUT);
digitalWrite(1,OUTPUT);
digitalWrite(2,OUTPUT);
}
void loop() {
digitalWrite(7, LOW);
delayMicroseconds(2);
digitalWrite(7, HIGH);
delayMicroseconds(10);
digitalWrite(7, LOW);
duration1=pulseIn(8,HIGH);
distance1=duration1*0.034/2;
digitalWrite(9, LOW);
delayMicroseconds(2);
digitalWrite(9, HIGH);
delayMicroseconds(10);
digitalWrite(9, LOW);
duration2=pulseIn(10,HIGH);
distance2=duration2*0.034/2;
lcd.setCursor(0,0);
lcd.print("pintu terbuka");
lcd.print(distance1);
lcd.print("cm");
lcd.setCursor(0,1);
lcd.print("pintu tertutup");
lcd.print(distance2);
lcd.print("cm");
if (distance1 > 150) {
servo1.write(90);
digitalWrite(1,HIGH);
}
else{
servo1.write(0);
digitalWrite(1,LOW);
}
if (distance2 < 150) {
servo2.write(90);
digitalWrite(3, HIGH);
}
else{
servo1.write(0);
digitalWrite(2, LOW);
}
}