#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