#include <LiquidCrystal.h>
#include <Servo.h>
Servo servoku;
int echoPin = 2;
int trigPin = 3;
LiquidCrystal lcd(12, 11, 10, 9, 8, 7);
void setup() {
Serial.begin(9600);
pinMode(echoPin, INPUT);
pinMode(trigPin, OUTPUT);
pinMode(13, OUTPUT);
lcd.begin(16, 2);
servoku.attach(5);
}
float bacaUltrasonik() {
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
int durasi = pulseIn(echoPin, HIGH);
return durasi * 0.034 / 2;
}
void loop() {
float jarak = bacaUltrasonik();
if (jarak <= 150) {
lcd.setCursor(0, 0);
lcd.print("AWAS KERETA API! ");
digitalWrite(13, HIGH);
delay(500);
digitalWrite(13, LOW);
delay(500);
servoku.write(0);
} else {
lcd.setCursor(2, 0);
lcd.print("bisa maju");
lcd.setCursor(2, 1);
lcd.print("2211107009");
delay(10);
servoku.write(90);
}
}