#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C LCD(0x27, 16, 2);
#include <Servo.h>
Servo MyServo;
#define Echo_pin 5
#define Trig_pin 6
#define LED1_pin 3
#define LED2_pin 4
#define LED3_pin 1
#define LED4_pin 2
#define LED5_pin 7
#define LED6_pin 8
#define LED7_pin 9
#define LED8_pin 10
#define Servo_pin 11
#define BUZZ_pin 12
int Nilai_UltraSonic;
void setup() {
pinMode(Echo_pin, INPUT);
pinMode(Trig_pin, OUTPUT);
pinMode(LED1_pin, OUTPUT);
pinMode(LED2_pin, OUTPUT);
pinMode(LED3_pin, OUTPUT);
pinMode(LED4_pin, OUTPUT);
pinMode(LED5_pin, OUTPUT);
pinMode(LED6_pin, OUTPUT);
pinMode(LED7_pin, OUTPUT);
pinMode(LED8_pin, OUTPUT);
MyServo.attach(Servo_pin);
pinMode(BUZZ_pin, OUTPUT);
//Status awal-------------------------------
digitalWrite(Trig_pin, LOW);
digitalWrite(LED1_pin, LOW);
digitalWrite(LED2_pin, LOW);
digitalWrite(LED3_pin, HIGH);
digitalWrite(LED4_pin, HIGH);
digitalWrite(LED5_pin, HIGH);
digitalWrite(LED6_pin, HIGH);
digitalWrite(LED7_pin, HIGH);
digitalWrite(LED8_pin, HIGH);
MyServo.write(90);
digitalWrite(BUZZ_pin, LOW);
//Program awal-----------------------------
LCD.init();
LCD.backlight();
LCD.setCursor(0, 0);
LCD.print("NAMA KELOMPOK : ");
LCD.setCursor(0, 1);
LCD.print("Loading...");
delay(2000);
LCD.clear();
LCD.setCursor(0, 0);
LCD.print("1.Riska Lailatul");
LCD.setCursor(0, 1);
LCD.print("2.VIRA DWI A ");
delay(2000);
LCD.clear();
LCD.setCursor(0, 0);
LCD.print("3.AJI MAHERU ");
LCD.setCursor(0, 1);
LCD.print("4.A.NAUFAL F ");
delay(2000);
LCD.clear();
}
void loop() {
digitalWrite(Trig_pin, HIGH);
delayMicroseconds(10);
digitalWrite(Trig_pin, LOW);
Nilai_UltraSonic = pulseIn(Echo_pin, HIGH) * 0.034 / 2;
if (Nilai_UltraSonic > 5) {
LCD.setCursor(0, 0);
LCD.print("STATUS PALANG: ");
LCD.setCursor(0, 1);
LCD.print("TERTUTUP(Closed)");
digitalWrite(BUZZ_pin, HIGH);
digitalWrite(LED1_pin, LOW);
digitalWrite(LED2_pin, HIGH);
MyServo.write(90);
} else {
LCD.setCursor(0, 0);
LCD.print("STATUS PALANG: ");
LCD.setCursor(0, 1);
LCD.print("TERBUKA (Open) ");
digitalWrite(BUZZ_pin, LOW);
digitalWrite(LED1_pin, HIGH);
digitalWrite(LED2_pin, LOW);
MyServo.write(0);
delay(3000);
}
delay(10);
}