Interfacing Ultrasonic Sensor With Arduino




Introduction: Interfacing Ultrasonic Sensor With Arduino

About: My team has developed a new product. PLEASE CHECK IT OUT ON INDIEGOGO AND SHOW YOUR SUPPORT. CAMPAIGN LINK: I'm a tech and food enthusiast and also a Soccer Player. I love…

An Ultrasonic Sensor is a device that measures distance to an object using Sound Waves. It works by sending out a sound wave at ultrasonic frequency and waits for it to bounce back from the object. Then, the time delay between transmission of sound and receiving of the sound is used to calculate the distance.

It is done using the formula Distance = (Speed of sound * Time delay) / 2

We divide the distance formula by 2 because the sound waves travel a round trip i.e from the sensor and back to the sensor which doubles the actual distance.

The HC-SR04 is a typical ultrasonic sensor which is used in many projects such as obstacle detector and electronic distance measurement tapes. In this Instructable I'll teach you how to interface the HC-SC04 with an Arduino Uno.

Step 1: Components Required

To interface an Ultrasonic Sensor with an Arduino and view the distance on the serial monitor you'll need:

  • Arduino Uno
  • HC-SR04 Module
  • BreadBorad
  • Jumper wires

You'll need a laptop or a PC to upload code to the Arduino and view the Distance on the Serial Monitor.

Step 2: A Little About HC-SR04

The HC-SR04 is an ultrasonic ranging module. This economical sensor provides 2cm to 400cm of non-contact measurement functionality with a ranging accuracy that can reach up to 3mm. Each HC-SR04 module includes an ultrasonic transmitter, a receiver and a control circuit.

There are Four Pins on the HC-SR04. They are :

  • Vcc (5V supply)
  • Gnd (Ground)
  • Trig (Trigger)
  • Echo (Receive)

The key features to be noted are:

  • Operating Voltage: 5V DC
  • Operating Current: 15mA
  • Measure Angle: 15°
  • Ranging Distance: 2cm - 4m

Step 3: The Arduino Serial Monitor

The Serial Monitor is a part of the Arduino IDE. It is also available in the Web IDE. It allows you to send and receive data from the board connected via USB. This is using the concept of Serial Communication.

You can send the commands by typing in the window on the top and pressing 'Enter' or clicking 'Send'. The data from the board is displayed below that.

This is very useful when debugging the code, or if you need to give inputs to the board, This is probably the most useful tool in the IDE. The more you use it, the better you get at testing complex projects that takes inputs and provides consequent outputs.

Step 4: The Circuit

The connections are as follows:

  • Vcc to 5V Pin of the Arduino.
  • Gnd to Gnd Pin of the Arduino.
  • Trig to Digital Pin 9 .
  • Echo to Digital Pin 10.

Refer the schematics for more clarity on the connections.

. Few things to remember while building the circuit

  • Avoid placing the sensor on metal surfaces to avoid short circuits which might burn the sensor.
  • It is recommended to put electrical tape on the back side of the sensor.
  • You can also directly connect the Ultrasonic sensor to the Arduino with jumper wires directly.

Step 5: The Code


* Ultrasonic Sensor HC-SR04 interfacing with Arduino. */ // defining the pins const int trigPin = 9; const int echoPin = 10; // defining variables long duration; int distance; void setup() { pinMode(trigPin, OUTPUT); // Sets the trigPin as an Output pinMode(echoPin, INPUT); // Sets the echoPin as an Input Serial.begin(9600); // Starts the serial communication } void loop() { // Clears the trigPin digitalWrite(trigPin, LOW); delayMicroseconds(2); // Sets the trigPin on HIGH state for 10 micro seconds digitalWrite(trigPin, HIGH); delayMicroseconds(10); digitalWrite(trigPin, LOW); // Reads the echoPin, returns the sound wave travel time in microseconds duration = pulseIn(echoPin, HIGH); // Calculating the distance distance= duration*0.034/2; // Prints the distance on the Serial Monitor Serial.print("Distance: "); Serial.println(distance); }

Step 6: Uploading and Testing

Connect the Arduino to your computer and upload the code. For detailed instructions on how to connect the arduino, check out this Instructable.

Once you've uploaded the code, the board will begin to transmit data to the computer. You will know this when you see the Tx LED on the Arduino blinking each time it transmits a data. Now if you open the Serial Monitor, you'll see the distance being displayed.

That's All Folks !!!! Stay tuned for more!!

If you need any further assistance please feel free to leave a comment below.

Makerspace Contest 2017

Participated in the
Makerspace Contest 2017

4 People Made This Project!


  • Photography Challenge

    Photography Challenge
  • Knitting and Crochet Speed Challenge

    Knitting and Crochet Speed Challenge
  • Raspberry Pi Contest

    Raspberry Pi Contest



2 years ago

thanks a lot, very clearly explained... Can you give another tutorial to control an LED using the distance sensor.


Question 3 years ago on Step 5

anyone know about 400EP18A ultrasonic sensor? how to interface with Arduino ?
kindly share me that details if already you have knowledge about that sensor.


4 years ago

hey, do you by chance know ho i can connect this to processing and use the given distance as a x or y value. because i only get it to werk as a string and therefore it is not compatible with for example rect.