#include <LiquidCrystal_I2C.h>
#include <Servo.h>
LiquidCrystal_I2C lcd(0x27,16,2);
int trigPin = 12;
int echoPin = 11;
long waktu;
int jarak;
Servo myservo;
void setup() {
Serial.begin(9600);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
myservo.attach(10);
myservo.write(0);
lcd.init();
lcd.backlight();
lcd.setCursor(4,0);
lcd.print("INOVAVAC");
lcd.setCursor(4,1);
lcd.print("9");
delay(3000);
// put your setup code here, to run once:
}
void loop() {
// put your main code here, to run repeatedly:
lcd.clear(); //Menghapus lcd
digitalWrite(trigPin, LOW); //Mematikan trigger
delayMicroseconds(2); //delay 2 microsecond
digitalWrite(trigPin, HIGH); //nyalakan trigger
delayMicroseconds(10); //delay 10 microsecond
digitalWrite(trigPin, LOW); //matikan trigger
waktu = pulseIn(echoPin,HIGH); //hitung waktu
jarak = waktu * 0.034/2;
lcd.setCursor(0,0);
lcd.print("JARAK OBYEK");
lcd.setCursor(0,1);
lcd.print(jarak);
lcd.setCursor(4,1);
lcd.print(" cm");
if(jarak > 350){
myservo.write(50);
}
else if(jarak > 250 && jarak <= 350){
myservo.write(60);
}
else if(jarak > 100 && jarak <= 250){
myservo.write(75);
}
else if(jarak > 80 && jarak <= 100){
myservo.write(90);
}
else if(jarak > 80 && jarak <= 100){
myservo.write(90);
}
else if(jarak > 30 && jarak <= 50){
myservo.write(160);
}
else{
myservo.write(180);
}
delay(2000);
}