#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,16,2);
int trig=7;
int echo=6;
int speaker=5;
int led=4;
long waktu,jarak;
void setup() {
// put your setup code here, to run once:
pinMode(trig, OUTPUT);
pinMode(echo, INPUT);
pinMode(speaker, OUTPUT);
pinMode(4, OUTPUT);
lcd.begin(16,2);
lcd.setCursor(1,0);
lcd.print("~SMK IC~");
lcd.setCursor(3,1);
lcd.print("UltraSonic");
delay(1500);
Serial.begin(9600);
}
void loop() {
// put your main code here, to run repeatedly:
lcd.clear();
lcd.setCursor(1,0);
lcd.print("jarak :");
lcd.print(jarak);
lcd.print(" cm");
lcd.setCursor(2,1);
digitalWrite(trig, LOW);
delayMicroseconds(8);
digitalWrite(trig, HIGH);
delayMicroseconds(8);
digitalWrite(trig, LOW);
delayMicroseconds(8);
waktu=pulseIn(echo,HIGH);
jarak=(waktu/2)/29,1;
Serial.println(jarak);
delay(5);
if ( jarak < 50 ){
lcd.print("awas nabrak");
digitalWrite(speaker , HIGH);
digitalWrite(4, HIGH);
tone(speaker,200);
delay(200);
}else if ( jarak > 50 ){
lcd.print("jarak aman");
digitalWrite(speaker , LOW);
digitalWrite(4, LOW);
noTone(speaker);
}
delay(1000);
}