Save 68%

Pololu Distance Sensor with Pulse Width 130cm

List price: $17.27
$5.49
($6.59 UK, incl VAT) You save: $11.78 (68%)
Price in points: 966 points
2110-693
1 g
2 item(s)
End of Line
+
Add to wish list

This compact sensor makes it possible to measure the distance of objects up to about 130 cm (50″) away using a simple digital pulse width interface (similar to a hobby servo control signal). It uses a short-range lidar module to precisely measure how long it takes for emitted pulses of infrared, eye-safe laser light to reach the nearest object and be reflected back, allowing for 3 mm resolution. As long as the sensor is enabled, it takes continuous distance measurements and encodes the ranges as the widths of high pulses, which can then be timed by a microcontroller using a single digital input.

It is one of a family of sensors available with differing detection distances as well as a choice between a digital or pulse width output. Each has the same dimensions and pinout.

Digital output
(does not provide distance measurement)
Sensor Maximum
range1
Minimum
range
Minimum
update
rate
Jumper
settings
(4321)
PCB ID
#4050: Digital output, 5cm 5 cm < 5 mm 145 Hz 0000 irs16a
#4052: Digital output, 10cm 10 cm < 5 mm 115 Hz 0010
#4054: Digital output, 15cm 15 cm < 5 mm 95 Hz 0100
#4066: Digital output, 25cm 25 cm < 1 mm 100 Hz 0000 irs17a
#4067: Digital output, 50cm 50 cm < 1 mm 100 Hz 0001
#4069: Digital output, 100cm 100 cm < 1 mm 100 Hz 0011
#4077: Digital output, 200cm 200 cm < 1 mm 30 Hz 1011

 

Pulse width output
(provides distance measurement)
Sensor Maximum
range1
Minimum
range2
Resolution Minimum
update
rate
Jumper
settings
(4321)
PCB ID
#4064: Pulse width output, 50cm max ~50 cm 1 cm 3 mm 50 Hz 1110 irs16a
#4071: Pulse width output, 130cm max ~130 cm 4 cm 1 mm 100 Hz 0101 irs17a
#4079: Pulse width output, 300cm max ~300 cm 4 cm 2 mm 30 Hz 1101

1. Effective range depends on object reflectivity and ambient lighting conditions

2. Objects closer than the minimum distance can still be detected but the measured distance may be less accurate. The minimum detection range is <5mm for the irs16a boards and <1mm for the irs17a boards

 

PWM

 

The relationship between measured distance d (in mm) and pulse width t (in µs) is as follows:

     d=3 mm4 µs(t 1000 µs)d=3 mm4 µs⋅(t –1000 µs)

     t=1000 µs+4 µs3 mmdt=1000 µs+4 µs3 mm⋅d

The timing uncertainty is approximately ±5%. As objects approach the sensor, the output pulse width will approach 1.0 ms, while an object detected at 130 cm will produce a 1.65 ms pulse width. The sensor uses a pulse width of 2.0 ms to indicate no detection. The pulse period T ranges from around 9 ms to 10 ms, depending on the proximity of the detected object.

The maximum detection range depends on object reflectivity and ambient lighting conditions. In tests, the sensor was able to reliably detect a white sheet of paper out to around 130 cm away, and it could reliably detect a hand out to around 80 cm away. The following graph shows the measured distances of five units versus their actual distances from a white paper target at several different ranges:

Distance

Please note that while this sensor can detect objects to within about 1 mm of the sensor face, the effective minimum distance it can measure is around 4 cm, so objects closer than 4 cm might result in an inaccurate measurement. 

Specifications

  • Operating voltage: 3.0 V to 5.5 V
  • Current consumption: 30 mA (typical) when enabled, 0.4 mA when disabled
  • Maximum range: approximately 130 cm (50″) (for high-reflectivity targets in good ambient conditions; lower-reflectivity targets or poor ambient conditions will reduce the maximum detection range)
  • Minimum range: 4 cm (for accurate measurement); < 1 mm (for detection)
  • Update rate: 100 Hz to 110 Hz (10 ms to 9 ms period)
  • Field of view (FOV): 15° typical; can vary with object reflectance and ambient conditions
  • Output type: digital pulse width
  • Dimensions: 0.85″ × 0.35″ × 0.122″ (21.6 × 8.9 × 3.1 mm); 
  • Weight: 0.014 oz (0.4 g)

Using the sensor 

Important note: This product might ship with a protective liner covering the sensor IC. The liner must be removed for proper sensing performance.

Label

Pinout

Three connections are necessary to use this module: VIN, GND, and OUT. These pins are accessible through a row of 0.1″-pitch through holes, which work with standard 0.1″ (2.54 mm) male headers and 0.1″ female headers (available separately). The VIN pin should be connected to a 3 V to 5.5 V source, and GND should be connected to 0 volts. The OUT pin drives low (0 V) when an object is being detected and it drives high (to the VIN level) when an object is not being detected. It is weakly pulled high when the sensor is disabled or waiting for its first reading to complete after power-up. A red LED on the back side of the board also lights whenever an object is detected.

LED Indication

The board has an optional ENABLE pin that can be driven low to put it into a low-power state that consumes approximately 0.4 mA. This pin can be accessed through a via or its neighboring surface-mount pad on the back side labeled “EN” on the silkscreen. The ENABLE pin is pulled up to VIN, enabling the sensor by default.

The board has one mounting hole intended for use with #2 or M2 screws.

Arduino program for reading pulse width output

This is a simple Arduino sketch that reads the output of the Pololu Distance Sensor with Pulse Width Output, 50cm Max and displays the measured distance in millimeters.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
// Example Arduino program for reading the Pololu Distance Sensor with Pulse Width Output, 130cm Max
 
// Change this to match the Arduino pin connected to the sensor's OUT pin.
const uint8_t sensorPin = 2;
 
void setup()
{
  Serial.begin(115200);
}
 
void loop()
{
  int16_t t = pulseIn(sensorPin, HIGH);
 
  if (t == 0)
  {
    // pulseIn() did not detect the start of a pulse within 1 second.
    Serial.println("timeout");
  }
  else if (t > 1850)
  {
    // No detection.
    Serial.println(-1);
  }
  else
  {
    // Valid pulse width reading. Convert pulse width in microseconds to distance in millimeters.
    int16_t d = (t - 1000) * 2;
 
    // Limit minimum distance to 0.
    if (d < 0) { d = 0; }
  
    Serial.print(d);
    Serial.println(" mm");
  }
}

micro:bit MakeCode program for reading pulse width output

Pololu has also created a MakeCode example program for the BBC micro:bit single-board computer that demonstrates how to read and convert the output of the Pololu Distance Sensor with Pulse Width Output, 300cm Max. The program’s output can be viewed in the MakeCode device console, which also plots the readings on a graph. You can open the program in the micro:bit MakeCode editor by clicking this link.

 MakeCode

 

Jumper settings (irs17a)

The board features four surface-mount configuration jumpers that determine its operation mode. Different versions of the Pololu Digital Distance Sensors ship with the appropriate jumpers pre-populated with 0 Ω resistors. These resistors can be desoldered from the populated spots or solder bridges can be added across the unpopulated spots to convert one sensor version into another. This sensor can be converted into any other irs17a version as listed in the following table. (For more information about how the different output types work, see the product pages for representative versions.)

 

Item # Description Maximum
range*
Hysteresis Resolution Minimum
update
rate
Jumper
settings
(4321)
2110-688 Digital output, 25cm 25 cm 50 mm - 100 Hz 0000
2110-689 Digital output, 50cm 50 cm 50 mm - 100 Hz 0001
  Digital output, 75cm 75 cm 50 mm - 100 Hz 0010
2110-690 Digital output, 100cm 100 cm 50 mm - 100 Hz 0011
  Digital output, any detect ~130 cm - - 100 Hz 0010
2110-693 Pulse width output, 130cm max ~130 cm - 1 mm
(= 0.5 µs)
100 Hz
(110 Hz max)
0101
  Digital output,125cm 125 cm 50 mm - 30 Hz 1000
  Digital output,150cm 150 cm 50 mm - 30 Hz 1001
  Digital output,175cm 175 cm 50 mm - 30 Hz 1010
2110-691 Digital output, 200cm 200 cm 50 mm - 30 Hz 1011
  Digital output, any detect ~300 cm - - 30 Hz 1100
2110-694 Pulse width output, 300cm max ~300 cm - 2 mm
(= 0.5 µs)
30 Hz
(33 Hz max)
1101