#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);
const int TRIG_PIN = 2; // Arduino pin connected to Ultrasonic Sensor's TRIG pin
const int ECHO_PIN = 3; // Arduino pin connected to Ultrasonic Sensor's ECHO pin
//const int RELAY_PIN = 8; // Arduino pin connected to Relay's pin
const int DISTANCE_THRESHOLD = 50; // centimeters
const int buzzer = 8;
const int led1 = 6;
const int led2 = 5;
// variables will change:
float waktu, jarak_cm;
void setup() {
lcd.init();
lcd.backlight();
Serial.begin (9600); // initialize serial port
pinMode(TRIG_PIN, OUTPUT); // set arduino pin to output mode
pinMode(ECHO_PIN, INPUT); // set arduino pin to input mode
//pinMode(RELAY_PIN, OUTPUT); // set arduino pin to output mode
pinMode(buzzer, OUTPUT);
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
}
void loop() {
// generate 10-microsecond pulse to TRIG pin
digitalWrite(TRIG_PIN, HIGH);
delayMicroseconds(10);
digitalWrite(TRIG_PIN, LOW);
// measure duration of pulse from ECHO pin
waktu = pulseIn(ECHO_PIN, HIGH);
// calculate the distance
jarak_cm = 0.017 * waktu;
if(jarak_cm < DISTANCE_THRESHOLD){
//digitalWrite(RELAY_PIN, HIGH); // turn on Relay
digitalWrite(buzzer, LOW);
digitalWrite(led1, HIGH);
digitalWrite(led2, LOW);
delay(200);
digitalWrite(led1, LOW);
digitalWrite(led2, HIGH);
delay(200);
lcd1();
}
else{
//digitalWrite(RELAY_PIN, LOW); // turn off Relay
digitalWrite(led1, LOW);
digitalWrite(led2, LOW);
digitalWrite(buzzer, HIGH);
delay(100);
digitalWrite(buzzer, LOW);
delay(100);
lcd2();
}
// print the value to Serial Monitor
}
void lcd1(){
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Jarak: ");
lcd.setCursor(7, 0);
lcd.print(jarak_cm);
lcd.setCursor(14, 0);
lcd.print("cm");
lcd.setCursor(0, 1);
lcd.print("Aman Bro");
Serial.print("jarak: ");
Serial.print(jarak_cm);
Serial.println(" cm");
Serial.println("Aman");
Serial.println(" ");
delay(100);
}
void lcd2(){
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Jarak: ");
lcd.setCursor(7, 0);
lcd.print(jarak_cm);
lcd.setCursor(14, 0);
lcd.print("cm");
lcd.setCursor(0, 1);
lcd.print("Bahaya Cok");
Serial.print("jarak: ");
Serial.print(jarak_cm);
Serial.println(" cm");
Serial.println("Bahaya");
Serial.println(" ");
delay(100);
}