#include <LiquidCrystal.h>
int rs = 6;
int en = 7;
int d4 = 8;
int d5 = 9;
int d6 = 10;
int d7 = 11;
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);
int echoPin = 3;
int triggerPin = 2;
float tT;
int st = 100;
float dist; //distance meters
float distI; //distance inches
float conv = (6.2 / 10000); //convert from meters to miles
float sS = 343.; //speed of sound
float sConv = 1000000.*2.; // convert from microseconds to seconds and halve the time
float convI = 39.37;
int dt = 3000;
int buttonPin = 13;
int buttonNew;
int buttonOld = 1;
int i;
void setup() {
lcd.begin(16, 2);
pinMode(echoPin, INPUT);
pinMode(triggerPin, OUTPUT);
pinMode(buttonPin, INPUT);
digitalWrite(buttonPin, HIGH);
Serial.begin(9600);
}
void loop() {
buttonNew = digitalRead(buttonPin);
//Serial.println(buttonNew);
lcd.setCursor(0,0);
lcd.print("Place the target");
lcd.setCursor(0,1);
lcd.print("Press to measure");
if (buttonOld == 0 && buttonNew == 1) {
for (i = 0; i < 1; i++) {
digitalWrite(triggerPin, LOW);
delayMicroseconds(st);
digitalWrite(triggerPin, HIGH);
delayMicroseconds(st);
digitalWrite(triggerPin, LOW);
tT = pulseIn(echoPin, HIGH);
dist = (tT / sConv) * sS;
distI = (dist * convI);
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Distance(m) = ");
lcd.setCursor(0, 1);
lcd.print(dist);
lcd.print("m ");
delay(dt);
}
}
buttonOld = buttonNew;
}