#include <LiquidCrystal_I2C.h>
#include <Wire.h>
LiquidCrystal_I2C lcd(0x27,16,2);
#define echopin A2 //Deklarasi echo terhubung pada pin A3
#define trigpin A3 //Deklarasi trig terhubung pada pin A2
#define led 8 //Deklarasi LED terhubung pada pin 2
long durasi; //variable duarsi suara
int jarak, jarak_max = 300; //variable untuk mengukur jarak
void setup() {
pinMode(9,OUTPUT);
pinMode(8,OUTPUT);
pinMode(4,OUTPUT);
pinMode(5,OUTPUT);
pinMode(6,OUTPUT);
pinMode(7,OUTPUT);
pinMode(trigpin,OUTPUT); //pin trig sebagai output
pinMode(echopin,INPUT); //pin echo sebagai input
pinMode(led,OUTPUT); //LED sebagai output
Serial.begin(9600); //komunikasi serial dimulai dengan 9600
lcd.begin(0,0);
lcd.init();
lcd.backlight();
lcd.clear();
}
void loop() {
digitalWrite(trigpin,LOW);
delayMicroseconds(2);
digitalWrite(trigpin,HIGH);
delayMicroseconds(10);
digitalWrite(trigpin, LOW);
durasi=pulseIn(echopin,HIGH);
jarak= durasi*0.034/2;
Serial.print(jarak);
Serial.println("cm");
Serial.println();
lcd.setCursor(0,0);
lcd.print("Jarak:");
lcd.print(jarak);
lcd.print("cm ");
delay(200);
if(jarak<200)
{digitalWrite(led,HIGH);
digitalWrite(4,LOW);
digitalWrite(5,LOW);
digitalWrite(6,HIGH);
digitalWrite(9,HIGH);
lcd.setCursor(0,1);
lcd.print("Motor dimatikan");}
else{digitalWrite(led,LOW);
digitalWrite(4,HIGH);
digitalWrite(5,LOW);
digitalWrite(6,HIGH);
digitalWrite(9,LOW);
lcd.setCursor(0,1);
lcd.print("Motor dihidupkan ");}
delay(100);
if (digitalRead(4)==LOW)
{digitalWrite(7,HIGH);}
else{digitalWrite(7,LOW);}
}