#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 20, 4); // I2C address 0x27, 20 column and 4 rows
int trigPin = 9;    // Sensor Trigger pin, The sensor activates its Ultrasonic sound transmitter as soon as it receives pulse on this pin.
int echoPin = 8;    // Sensor Echo pin, The sensor continuously sends back a pulse to arduino as long as it receives back the ultrasonic sound wave. 
float duration, distance_cm; //Two variables To store duration for which we receive the pulse of echo pin, and distance we calculate based on sound speed and that duration.
void setup() {
  lcd.init();               // initialize the lcd
  lcd.backlight();
  pinMode(trigPin, OUTPUT); // config trigger pin to output mode
  pinMode(echoPin, INPUT); // config echo pin to input mode
}
void loop() {
  // generate 10-microseconds "pulse" to TRIG pin
  digitalWrite(trigPin, HIGH);
  delayMicroseconds(10);
  digitalWrite(trigPin, LOW);
  
  // measure duration of pulse from ECHO pin (In microseconds!!)
  duration = pulseIn(echoPin, HIGH);
  // calculate the distance
  distance_cm = 0.01732 * duration; //This 0.01732 is a constant calculated using this: distance = (speed of sound X time)/2, for 25 celcius room temperature. For temperature 35 celcius, its 0.01762, for 45 celcius surrounding temp, its 0.01792
  
  lcd.setCursor(0, 0);
  lcd.print("DISTANCE IN CM-");
  lcd.setCursor(0, 1);
  lcd.print(distance_cm);
  delay(10); //refresh rate
}
//Got a doubt or recommendation?? ask in comments...
  
Comments