#include <LiquidCrystal_I2C.h>
#include <Servo.h>
LiquidCrystal_I2C lcd(0x27,16,2);
int trigPin = 10; //pin trigger
int echoPin = 9; //pin echo
long waktu; //Menghitung Waktu
int jarak; //Menghitung Jarak
Servo myservo;
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
myservo.attach(11);
myservo.write(90);
lcd.init();
lcd.backlight();
lcd.setCursor(0,0);
lcd.print("ARDUINO SEVEN");
lcd.setCursor(0,1);
lcd.print("SERSAN");
delay(5000);
}
void loop() {
// put your main code here, to run repeatedly:
lcd.clear();
digitalWrite(trigPin, LOW); //Mematikan trigger
delayMicroseconds(2);
digitalWrite(trigPin, HIGH); //Menyalakan trigger
delayMicroseconds(10);
digitalWrite(trigPin, LOW); //Mematikan trigger
waktu = pulseIn(echoPin,HIGH); //Membaca waktu yang diterima echopin
jarak = waktu * 0.034/2; //Menghitung jarak
lcd.setCursor(0,0);
lcd.print("JARAK OBYEK");
lcd.setCursor(0,1);
lcd.print(jarak);
lcd.setCursor(4,1);
lcd.print(" cm ");
if(jarak < 50){
myservo.write(65);
}
else if(jarak>=50 & jarak<100){
myservo.write(110);
}
else if(jarak>=100 & jarak<200){
myservo.write(150);
}
else{
myservo.write(180);
}
delay(1000);
}