Aliased from Ultrasonic

This page is a placeholder about ultrasonic sensors, which we hope to flesh out as time permits.

SR04 Ultrasonic Distance Sensors#

The HC-SR04 (click to enlarge)
Most hobbyist robots use a commonly-available ultrasonics module (typically called an HC-SR04 or something similar) that costs a few dollars.

I've been using a driver board from PiBorg called the UltraBorg that has both support for four servos and four HC-SR04 ultrasonic sensors, with a support library in Python.

MB1614 HRLV-ShortRange-EZ1T#

Maxbotix MB1614 (click to enlarge)

The Maxbotix MB1614 is a step up from the SR04 in terms of quality, an intermediate-level ultrasonic sensor, certainly pricier than the SR04 but less cost and complexity than the more advanced SensComp (see below).

Features of the MB1614, HRLV-ShortRange-EZ1T, include millimeter resolution, a good balance between people detection and beam pattern width, range information from 2cm to 5m, a 10Hz read rate, and various output options: pulse-width, analog voltage, and TTL.

The HRLV-ShortRange-EZ1T is our most recommended HRLV-ShortRange-EZ Sensor for people detection, autonomous navigation and well balanced detection.

Product page:

SensComp Ultrasonics#

The Polaroid SX-70 Sonar (click to enlarge)

A more advanced sensor is available from SensComp, which uses a transducer similar to those found in the Polaroid SX-70 Sonar camera, circa 1978. These sensors are have a longer range and are more sensitive than their cheaper brethren. I contacted SensComp and received more information about their sensors. See the documents attached to this page.

SensComp offers a complete Development kit using the Arduino. This is the Smart Sensor Ultrasonic Development Kit For Arduino, attached is a spec sheet(info) for the kit. I have also included the spec sheet for the Smart sensor(info) itself which can also be purchased separately. Also attached is the code(info) for the development kit.
That is:

According to SensComp there is currently no known Python port of the Arduino C code, but the Ping_SMRT.ino file looks to be relatively straightforward if the included Wire.h and LiquidCrystal_I2C.h library are themselves either ported or portable. But this is certainly a non-trivial effort.