Sensors Distance Measurement Using Arduino
Sensors Distance Measurement Using Arduino
INTRODUCTION
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.
COMPONENTS USED
Timing Diagram
The module works on the natural phenomenon of ECHO of sound. A pulse is sent for
about 10us to trigger the module. After which the module automatically sends 8 cycles
of 40 KHz ultrasound signal and checks its echo. The signal after striking with an
obstacle returns back and is captured by the receiver. Thus the distance of the
obstacle from the sensor is simply calculated by the formula given as
Here we have divided the product of speed and time by 2 because the time is the total
time it took to reach the obstacle and return back. Thus the time to reach obstacle is
just half the total time taken.
CIRCUIT DIAGRAM AND EXPLANATION
The circuit diagram for arduino and ultrasonic sensor is shown above to measure
the distance. In circuit connections Ultrasonic sensor module’s “trigger” and “echo”
pins are directly connected to pin 18(A4) and 19(A5) of arduino. A 16x2 LCD is
connected with arduino in 4-bit mode. Control pin RS, RW and En are directly
connected to arduino pin 2, GND and 3. And data pin D4-D7 is connected to 4, 5, 6
and 7 of arduino.
First of all we need to trigger the ultrasonic sensor module to transmit signal by using
arduino and then wait for receive ECHO. Arduino reads the time between triggering
and Received ECHO. We know that speed of sound is around 340m/s. so we can
calculate distance by using given formula:
Find more about the working of distance measurement project in this tutorial: Distance
measurement using ultrasonic sensor.
In code we read time by using pulseIn(pin). And then perform calculations and
displayed result on 16x2 LCD by using appropriate functions.
CODE:
#include <LiquidCrystal.h>
#define trigger 18
#define echo 19
LiquidCrystal lcd(2,3,4,5,6,7);
float time=0,distance=0;
void setup()
{
lcd.begin(16,2);
pinMode(trigger,OUTPUT);
pinMode(echo,INPUT);
lcd.print(" Ultra sonic");
lcd.setCursor(0,1);
lcd.print("Distance Meter");
delay(2000);
lcd.clear();
lcd.print(" Circuit Digest");
delay(2000);
}
void loop()
{
lcd.clear();
digitalWrite(trigger,LOW);
delayMicroseconds(2);
digitalWrite(trigger,HIGH);
delayMicroseconds(10);
digitalWrite(trigger,LOW);
delayMicroseconds(2);
time=pulseIn(echo,HIGH);
distance=time*340/20000;
lcd.clear();
lcd.print("Distance:");
lcd.print(distance);
lcd.print("cm");
lcd.setCursor(0,1);
lcd.print("Distance:");
lcd.print(distance/100);
lcd.print("m");
delay(1000);
}
REFERENCES:
1.https://www.youtube.com/watch?v=DC7o_MB1DWQ
2.https://howtomechatronics.com/tutorials/arduino/ultrasonic-sensor-hc-
sr04/