#include <LiquidCrystal.h>
int rs = 12;
int E = 11;
int d4 = 10;
int d5 = 9;
int d6 = 8;
int d7 = 7;
LiquidCrystal lcd(rs,E,d4,d5,d6,d7);
int trigPin = 5;
int echoPin = 4;
int green = 3;
int red = 2;
float pingTime ;
float res;
float distance;
const float speed = 343;
float dist;
void setup() {
// put your setup code here, to run once:
lcd.begin(16,2);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(green, OUTPUT);
pinMode(red, OUTPUT);
Serial.begin(9600);
}
void loop() {
// put your main code here, to run repeatedly:
digitalWrite(trigPin, LOW);
delayMicroseconds(10);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
pingTime = pulseIn(echoPin, HIGH);
delay(250);
res = pingTime/1000000;
dist = (speed*res)/2;
distance = dist * 39.37;
Serial.println(res, 5);
Serial.println("distance:" + String(distance));
if(pingTime > 5848){
digitalWrite(red,LOW);
digitalWrite(green, HIGH);
}
else{
digitalWrite(green,LOW);
digitalWrite(red, HIGH);
}
lcd.clear();
lcd.setCursor(0,0);
lcd.print("M:" + String(dist));
lcd.print(" ");
lcd.print("In:" + String(distance));
lcd.setCursor(0,1);
lcd.print("T:" + String(res) + "S");
lcd.print(" ");
lcd.print(String(pingTime) + "Ms");
// delay(500);
}