HC-SR04 Ultrasonic Sensor | Botshop

HC-SR04 Ultrasonic Sensor


53 in stock (can be backordered)

Purchase this product now and earn 85 Bot Points!


The HC-SR04 ultrasonic sensor uses sonar to determine the distance to an object like bats or dolphins do. It offers excellent range accuracy and stable readings in an easy-to-use package. Its 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 an initial function for the 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 correlates 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.


Example Sketch & Diagram

Library: HC-SR04_Library.zip



#include <NewPing.h>
#define TRIGGER_PIN 12
#define ECHO_PIN 11
#define MAX_DISTANCE 200

void setup() {

void loop() {
unsigned int uS = sonar.ping();
Serial.print("Ping: ");
Serial.print(uS / US_ROUNDTRIP_CM);


There are no reviews yet.

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

You may also like…