//import libraries for display
#include <LiquidCrystal.h>
//define lcd with LiquidCrystal library
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
const int pingPin = 7; // Trigger Pin of Ultrasonic Sensor
const int echoPin = 6; // Echo Pin of Ultrasonic Sensor
// Connect Ultrasonic sensor VCC to 5 V, and Gnd to 0 V
int duration;
//for disatnce
double distance;
//value of m and C required for linear equation
double m = 0.0170943;
double c = 0.0193299;
//LED pin
int ledPin = 9;
void setup() {
//initialize LCD
lcd.begin(16, 2);
lcd.print("Initializing...");
//set output mode for LED
pinMode(ledPin, OUTPUT);
Serial.begin(9600); // Starting Serial Terminal
delay(3000);
}
void loop() {
// Ultrasound sensor ping
pinMode(pingPin, OUTPUT);
digitalWrite(pingPin, LOW);
delayMicroseconds(2);
digitalWrite(pingPin, HIGH);
delayMicroseconds(10);
digitalWrite(pingPin, LOW);
// Ultrasound sensor echo catch
pinMode(echoPin, INPUT);
duration = pulseIn(echoPin, HIGH);
distance = m * duration + c;
// Send distance data to Serial port
// Serial.println(distance);
//print distance in LCD
lcd.clear();
lcd.print("Distance: ");
lcd.print((int)distance);
lcd.print("cm");
if (distance < 20) {
digitalWrite(ledPin, HIGH);
} else {
digitalWrite(ledPin, LOW);
}
// Wait before next ping
delay(250);
}