#include <LiquidCrystal.h>
LiquidCrystal lcd(12,11,5,4,3,2);
const int trig = 9;
const int echo = 10;
long waktu;
long jarak;
int buzz =3, ledH =A0, ledM = A1;
void buzzer();
void setup() {
pinMode(trig, OUTPUT);
pinMode(echo, INPUT);
pinMode(ledH, OUTPUT);
pinMode(ledM, OUTPUT);
pinMode(buzz, OUTPUT);
lcd.begin(20,4);
}
void loop() {
digitalWrite(trig,LOW);
delayMicroseconds(2);
digitalWrite(trig,HIGH);
delayMicroseconds(10);
digitalWrite(trig,LOW);
waktu = pulseIn(echo,HIGH);
jarak = waktu * 0.034 / 2 ;
lcd.setCursor(7,0);
lcd.print("Jarak: ");
lcd.setCursor(8,1);
lcd.print(jarak);
lcd.print(" cm");
lcd.setCursor(0,2);
lcd.print("LedM");
lcd.setCursor(16,2);
lcd.print("LedH");
if(jarak<4){
digitalWrite(ledM, HIGH);
digitalWrite(ledH, LOW);
lcd.setCursor(0,3);
lcd.print("ON");
lcd.setCursor(17,3);
lcd.print("OFF");
buzzer();
} else {
digitalWrite(ledM, LOW);
digitalWrite(ledH, HIGH);
lcd.setCursor(0,3);
lcd.print("OFF");
lcd.setCursor(17,3);
lcd.print("ON ");
}
delay(2000);
lcd.setCursor(0,1);
lcd.print(" ");
lcd.setCursor(0,3);
lcd.print(" ");
}
void buzzer(){
for(int i=0; i<=1000; i++){
digitalWrite(buzz, HIGH);
delayMicroseconds(100);
digitalWrite(buzz, LOW);
delayMicroseconds(100);
}
}