Interfacing Ultrasonic Sensor With Arduino

by goks_lf in Circuits > Arduino

92878 Views, 48 Favorites, 0 Comments

Interfacing Ultrasonic Sensor With Arduino

1.png

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.

Components Required

7.png
6.png
8.png
IMG_20170621_211829.png

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.

A Little About HC-SR04

5.png
4.png
3.png

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

The Arduino Serial Monitor

Capture.PNG

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.

The Circuit

ulrasonic.png
schematic.png
2.png

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.

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); }

Uploading and Testing

serial.PNG

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.