Pololu Blog »
New Pololu distance sensors with digital and pulse width outputs
In many applications ranging from robotics to industrial automation, it is useful to quickly detect the presence of objects within a certain distance. Our carrier boards for the Sharp/Socle GP2Y0D8x digital distance sensors have been popular in this role, but those sensors are unfortunately no longer being produced and are becoming hard to find. So we are excited to announce the release of our next-generation lidar-based Pololu Digital Distance Sensors, which can replace the discontinued Sharp sensors and more!
These new sensors use an on-board rangefinder module to determine distance by measuring the time of flight (ToF) of invisible, eye-safe infrared laser light. They are available in three different digital output versions with the same range thresholds as the GP2Y0D8x series:
- Pololu Digital Distance Sensor 5cm
- Pololu Digital Distance Sensor 10cm
- Pololu Digital Distance Sensor 15cm
We also have one additional option for more advanced applications:
(More on that version below.)
A camera with no IR filter shows the infrared light emitted by a Pololu Digital Distance Sensor.
The Pololu Digital Distance Sensors work like the Sharp sensors: they operate with either a 3.3 V or 5 V supply and output a simple digital signal, which is low if an object is detected within the specified range, high otherwise. They have the same indicator LED, pinout, and form factor as our GP2Y0D8x carrier boards (but are much thinner than the Sharp sensors), allowing them to be drop-in replacements in most applications.
The pulse width output version looks almost identical to its digital output counterparts, but instead of simply indicating the presence or absence of an object, it outputs a pulsed signal (similar to a hobby servo control signal) that encodes the distance it is measuring in the length of each high pulse. By timing these pulses, you can get quantitative range readings for targets up to half a meter away (depending on reflectance and environmental conditions).
The four numbered surface-mount jumpers on these sensors’ printed circuit boards, near the mounting hole on the front side, determine the sensor’s operating mode. You can change the jumper connections yourself to customize its behavior and even effectively convert the sensor into a different version (more information on the jumper settings will be available soon). And since we assemble and program these boards here in our Las Vegas facility, we can produce a custom-configured batch of sensors for you. If you are interested in manufacturing customization, please contact us for more information.
We are back to offering an introductory special discount on new products, to help share in our celebration of releasing these Pololu distance sensors. The first hundred customers to use coupon code DISTSENSORS can get up to three units of each type for just $7.87 each!
Like most sensors that use infrared light, the Pololu Digital Distance sensors are affected by daylight (and any other background infrared light) since it basically reduces their signal-to-noise ratio. They will generally still work, but you might see a significant reduction in effective range depending on the intensity and direction of the sunlight.
Multiple sensors shining at each other (e.g. on two different robots) can interfere with each other, but we haven't observed any significant interference between two side-by-side sensors pointing in the same direction, so having multiple sensors on the edge of a robot like you described should work fine.
For the sensors with digital outputs all you need your code to do is read a digital input signal. In Arduino, you could do that with a digitalRead() command.
For the pulse width output version, we provided a simple Arduino example program showing how you could read the sensor on its product page.
For objects to be detected by any of these sensors, the minimum distance is less than 5 mm; for an accurate measurement from the pulse width versions, the minimum distance is about 1 cm. We do not have the accuracy precisely characterized, but the graph of measured vs. actual distances on the pulse width version's product page should give some idea of typical accuracy (this includes timing uncertainty specific to the pulse width output).
I bought your PWM 50cm sensor and a 6 relay module board for my cnc machine, I have to activate deferent functions on my cnc according to the sensor height , (total distance is 10cm, and I divide it to (2.5cm Blind distance and 6 1.25cm height steps, total is 10), need to activate each relay according to these 6 steps, with some hysteresis !
Please I need a simple arduino code for this, :)
Thx a lot ...
We do not have any example Arduino code for that specific purpose, but you can find a simple example Arduino sketch that reads the output of the Pololu Distance Sensor with Pulse Width Output, 50cm Max and displays the measured distance in millimeters on the sensor's product page. It should be fairly simple to use that as a reference and add some IF statements to activate your various relay boards. If you try doing that and have problems, I suggest posting a request for help that includes what you have so far on our forum, which is a much better place for debugging or troubleshooting code.
Both the Sharp sensors and the Pololu Distance Sensors depend on infrared light reflections, which will be affected by ambient conditions and target characteristics. That makes it hard to know for whether one of the Pololu Digital Distance Sensors will work better for sure, but I think there is some hope that they could be better. If you decide to try them out, I would suggest testing the version with the longest range that will work in your setup since the longer range sensor should be more sensitive for a given distance.
I am looking to find the proper protection glass that does not trigger this sensor. I have tried off-the-shelf IR transmitting glasses (red) but the sensor detects it. How can I find the right glass (for protection against dust and water vapor) to use?
These boards use an 850nm emitter, so you would need to use a material that is transparent to that wavelength. I recommend looking at documentation for sensor components (e.g. like these) for more information and ideas.
For example, they link to these, which might work for you (although please note that we have not specifically tried them).
We are interested in the Pololu Digital Distance Sensors.
Wondering what the basic difference is between the 5cm, 10cm, 15cm versions?
For instance, is the 15cm version more powerful than the 5cm version?
We are interested in sensing the presence of an object (cue ball) and simply starting a timer once the ball has moved from position (down a ramp). So, basically a digital switch. Using an infrared laser seems far more robust than a mechanical switch, and easier to fasten into place compared with say a micro switch requiring tight tolerance mounting to the object to be sensed.
The 5 cm, 10 cm, and 15 cm Pololu Digital Distance Sensors are identical except for the configuration of the surface-mount jumpers, near the mounting hole on the front side of the board, which determine the sensor’s operating mode. You can find more detailed information about this in each sensor's product page description under the "Jumper settings (irs16a)" header.