How-to-measure-distance-with-arduino
Ultrasonic sensors are great tools to measure distance without actual contact and used at several places like water level measurement, distance measurement etc. This is an efficient way to measure small distances precisely. In this project we have used an Ultrasonic Sensor to determine the distance of an obstacle from the sensor. Basic principal of ultrasonic distance measurement is based on ECHO. When sound waves are transmitted in environment then waves are return back to origin as ECHO after striking on the obstacle. So we only need to calculate the travelling time of both sounds means outgoing time and returning time to origin after striking on the obstacle. As speed of the sound is known to us, after some calculation we can calculate the distance.
code.............
Vss = Arduino GND
VDD = Arduino 5V
V0 = Potentiometer center pin
RS = Digital pin 1
RW = Arduino GND
E = Digital pin 2
D4 = Arduino digital pin 3
D5 = Arduino digital pin 4
D6 = Arduino digital pin 5
D7 = Arduino digital pin 6
A = Arduino 5V
K = Arduino GND
Ultrasonic GND = Arduino GND
Ultrasonic 5V = Arduino 5V
Ultrasonic Echo = Arduino digital pin 8
Ultrasonic trig = Arduino digital pin 9
Potentiometer left pin = Arduino 5V
Potentiometer right pin = Arduino GND
Code:-
#include <LiquidCrystal.h> // includes the LiquidCrystal Library
LiquidCrystal lcd(1, 2, 3, 4, 5, 6); // Creates an LCD object. Parameters:
(rs, enable, d4, d5, d6, d7)
const int trigPin = 8;
const int echoPin = 9;
long duration;
int distanceCm, distanceInch;
void setup() {
lcd.begin(16,2); // Initializes the interface to the LCD screen, and specifies the dimensions (width and height) of the display
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
}
void loop() {
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
distanceCm= duration*0.034/2;
distanceInch = duration * 0.01330 / 2;
lcd.setCursor(0,0); // Sets the location at which subsequent text written to the LCD will be displayed
lcd.print("Distance: "); // Prints string "Distance" on the LCD
lcd.print(distanceCm); // Prints the distance value from the sensor
lcd.print(" cm");
delay(10);
lcd.setCursor(0,1);
lcd.print("Distance: ");
lcd.print(distanceInch);
lcd.print(" inch");
delay(10);
}