Distance Measurement using Ultrasonic Sensor HC-SR04 and Arduino

The HC-SR04 Ultrasonic Sensor is a very affordable proximity/distance sensor that has been used mainly for object avoidance in various robotics projects. It essentially gives your Arduino eyes / special awareness and can prevent your robot from crashing or falling off a table. It has also been used in blind stick applications, water level sensing, and even as a parking sensor.

HC-SR04 Ultrasonic Sensor

HCSR04 Sensor
HCSR04 Sensor

Circuit Connections of Ultrasonic Distance Sensor with Arduino

Ultrasonic Distance Sensor Connections with Arduino
Ultrasonic Distance Sensor Connections with Arduino

Arduino Code for Ultrasonic Distance Sensor

/*==========================================
Ultrasonic Distance Measurement 
 www.circuits4you.com
     
  Ultrasonic sensor Pins:
        VCC: +5VDC
        Trig : Trigger (INPUT) - Pin 4
        Echo: Echo (OUTPUT) - Pin 2
        GND: GND
========================================== */
 
int trigPin = 4;    //Trig - green Jumper
int echoPin = 2;    //Echo - yellow Jumper
long duration, cm, inches;
 
void setup() {
  //Serial Port begin
  Serial.begin (9600);
  //Define inputs and outputs
  pinMode(trigPin, OUTPUT);
  pinMode(echoPin, INPUT);
}
 
void loop()
{
 
  // The sensor is triggered by a HIGH pulse of 10 or more microseconds.
  // Give a short LOW pulse beforehand to ensure a clean HIGH pulse:
  digitalWrite(trigPin, LOW);
  delayMicroseconds(5);
  digitalWrite(trigPin, HIGH);
  delayMicroseconds(10);
  digitalWrite(trigPin, LOW);
 
  // Read the signal from the sensor: a HIGH pulse whose
  // duration is the time (in microseconds) from the sending
  // of the ping to the reception of its echo off of an object.
  pinMode(echoPin, INPUT);
  duration = pulseIn(echoPin, HIGH);
 
  // convert the time into a distance
  cm = (duration/2) / 29.1;
  inches = (duration/2) / 74; 
  Serial.print("Distance: ");
  Serial.print(inches);
  Serial.print("in, ");
  Serial.print(cm);
  Serial.print("cm");
  Serial.println();
  
  delay(250);
}

Result of Ultrasonic Distance Sensor

                Open serial monitor and move hand in front of ultrasonic sensor to see the changes.

Distance Measurement Result
Distance Measurement Result

Leave a Reply