#include <Wire.h>
#include "LiquidCrystal_I2C.h"
LiquidCrystal_I2C lcd(0x27, 16, 2);
#define TRIG 25
#define ECHO 26
#define RED_PIN 18
#define GREEN_PIN 5
long duration, distance;
void setup() {
// put your setup code here, to run once:
pinMode(TRIG, OUTPUT);
pinMode(ECHO, INPUT);
pinMode(RED_PIN, OUTPUT);
pinMode(GREEN_PIN, OUTPUT);
lcd.begin();
lcd.backlight();
lcd.home();
lcd.print("Check Distance");
lcd.setCursor(0, 1);
lcd.print("Ready!");
delay(2000);
}
void loop() {
// put your main code here, to run repeatedly:
digitalWrite(TRIG, LOW);
delayMicroseconds(5);
digitalWrite(TRIG, HIGH);
delayMicroseconds(10);
duration = pulseIn(ECHO, HIGH);
distance = duration * 0.034 / 2;
lcd.setCursor(0, 0);
lcd.print("Distance: ");
lcd.print(distance);
lcd.print(" cm. ");
lcd.setCursor(0, 1);
if (distance >= 15) {
digitalWrite(GREEN_PIN, HIGH);
digitalWrite(RED_PIN, LOW);
lcd.print("Safe!");
} else {
digitalWrite(GREEN_PIN, LOW);
digitalWrite(RED_PIN, HIGH);
lcd.print("STOP! ");
}
delay(500);
}