#include <Servo.ku>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd (0*27, 16, 2);
Servo Servoku2;
Servo Servoku;
int echoPin = 4;
int trigPin = 5;
int buzzer = 13;
int led = 12;
void setup() {
Serial.begin(9600);
pinMode(echoPin, INPUT);
pinMode(trigPin, OUTPUT);
pinMode(buzzer, OUTPUT);
servoku.attach(6);
servoku2.attach(7);
lcd.begin(16, 2);
lcd.backlight();
}
float bacaUltrasonik(){
digitalWrite(trigPin, LOW);
digitalWrite(trigPin, HIGH);
delayMicroseconds(2);
digitalWrite(trigPin, LOW);
int durasi = pulseIn(echoPin, HIGH);
return (durasi / 2) / 29;;
}
void loop() {
float jarak = bacaUltrasonik();
if(jarak>=150){
lcd.setCursor(0, 0);
lcd.print("Palang Terbuka");
lcd.setCursor(0,1);
lcd.print(" ");
delay(10);
noTone(buzzer);
servoku2.write(90);
servoku.write(90);
}
else{
lcd.setCursor(0, 0);
lcd.print("Harap Ngenteni!! ");
lcd.setCursor(0,1);
led.print("Agar Selamat.");
delay(10);
tone(buzzer, 1000);
digitalWrite(led, HIGH);
delay(500);
tone(buzzer, 10);
digitalWrite(led, LOW);
delay(500);
servoku2.write(180);
servoku.write(0);
}
}