HC-SR04 Ultrasonic Sensor

HC-SR04 Ultrasonic Sensor


Product Description

The HC-SR04 ultrasonic sensor uses sonar to determine distance to an object like bats or dolphins do. It offers excellent range accuracy and stable readings in an easy-to-use package. It operation is not affected by sunlight or black material like Sharp rangefinders are. Similar in performance to the SRF005 but with the low-price of a Sharp infrared sensor.

  • Power Supply :5V DC
  • Quiescent Current : <2mA
  • Effectual Angle: <15°
  • Ranging Distance : 2cm – 500 cm (5 meters)
  • Resolution : 0.3 cm

Basic use of the HC-SR04 Ultrasonic Sensor

Please see the datasheet for an excellent description of how the sensor operates.

HC-SR04 Datasheet

Using the HC-SR04 with an Arduino

Great Video here: http://vimeo.com/44836674

There is an Arduino library for the HC-SR04 that offers two ways to use the sensor. To install, download the “Ultrasonic Library” from this page, unzip the release package into your “arduino-0018/libraries/” folder. Open the Arduino IDE and include the library by Sketch-Import library-Ultrasonic . There is also an example sketch in File-Examples-Ultrasonic-UltrasonicDemo.

Ultrasonic Library

The library includes 3 functions:

1. Ultrasonic(int TP, int EP)

This is a initial function for ultrasonic ranging module, choose the pins for module TRIG and ECHO pin. For example:


defines the digital pin 13 of Arduino as the TRIG pin of HC-SR04 and pin 12 for the ECHO pin.

2. long Timing()

This function triggers the ultrasonic module and returns the duration that the ECHO pin was held high. For example:

 long time; Ultrasonic hcsr; time = hcsr.Timing();

The distance of the object corelates to the time the ECHO pin is held high. The distance formula is:

Distance = ((Duration of high level)*(Sonic :340m/s))/2

3. long Ranging(int sys) — (sys : CM / INC)

If you don’t want to change the time into distance yourself, this function will help you get the distance immediately. This function has a parameter (using CM or ICN) that shows the distance in centimeters or inches. This function will call Timing() and you don’t need to use the Timing() before it. For example:

long distance; Ultrasonic hcsr; distance = hcsr.Ranging(CM); 

returns the distance in centimeters.


There are no reviews yet.

Only logged in customers who have purchased this product may leave a review.