Back to Step by Step Course by Robojax

Lesson 70: Using Ultrasonic Distance Sensor with Arduino

Related or required files and link to this lesson

Part 8: Obstacle Avoidance with Arduino

In this lesson we learn how to measure distance using HS-SR04 Ultrasonic Sensor. Code and wiring is fully explained. The below is used in this lecture. Timign in the video

  • 00:00 Introduction
  • 02:43 Wiring Explained
  • 03:42 Getting library
  • 0-4:48 Code Explained
  • 07:02 Demonstration

 * S08-05 Sharp IR
* Lesson 70: Using Sharp Infrared Distance Sensor with Arduino 
 * This Arduino sktech to measure distance using Sharp GP2Y0A5 or any other
 * Written by Ahmad Shamshiri for 
 * on Jan 15, 2019 at 19:15 in Ajax, Ontario, Canada
 Watch full video instruction:

  This video is part of Arduino Step by Step Course which starts here:


If you found this tutorial helpful, please support me so I can continue creating 
content like this. You can support me on Patreon

or make donation using PayPal
 * This code is "AS IS" without warranty or liability. Free to be used as long as you keep this note intact.* 
 * This code has been download from
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <>.
#include <SharpIR.h>

#define IR A0 // define signal pin
#define model 1080 // used 1080 because model GP2Y0A21YK0F is used
// Sharp IR code for
// ir: the pin where your sensor is attached
// model: an int that determines your sensor:  1080 for GP2Y0A21Y
//                                            20150 for GP2Y0A02Y
//                                            430 for GP2Y0A41SK   
2 to 15 cm GP2Y0A51SK0F  use 215
4 to 30 cm GP2Y0A41SK0F / GP2Y0AF30 series  use 430
10 to 80 cm GP2Y0A21YK0F  use 1080
10 to 150 cm GP2Y0A60SZLF use 10150
20 to 150 cm GP2Y0A02YK0F use 20150
100 to 550 cm GP2Y0A710K0F  use 100550


SharpIR SharpIR(IR, model);
void setup() {
    // Sharp IR code for
 Serial.println("Robojax Sharp IR  ");

void loop() {
    // Sharp IR code for

  unsigned long startTime=millis();  // takes the time before the loop on the library begins

  int dis=SharpIR.distance();  // this returns the distance to the object you're measuring

  // Sharp IR code for

  Serial.print("Mean distance: ");  // returns it to the serial monitor

  unsigned long endTime=millis()-startTime;  // the following gives you the time taken to get the measurement
  Serial.print("Time taken (ms): ");
     // Sharp IR code for


The least I expect from you is to give the video a thumbs up and subscribe to my channel. I appreciate it. I have spent hundreds of hours making these lectures and writing code. You don't lose anything by subscribing to my channel. Your subscription is a stamp of approval for my videos, helping more people find them and, in turn, helping me. Thank you!

If you found this tutorial helpful, please support me so I can continue creating content like this. support me via PayPal

**** AFFILIATE PROGRAM **** We are a participant in the Amazon Services LLC Associates Program, an affiliate advertising program designed to provide a means for us to earn fees by linking to and affiliated sites.

Right Side