%%alias
Aliased from [Ultrasonic]
%%

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


!! SR04 Ultrasonic Distance Sensors

[{Image src='attach/UltrasonicSensor/ultrasonic.png' link='attach/UltrasonicSensor/ultrasonic.png' width='300' caption='The HC-SR04 (click to enlarge)' align='right' class='imgFloatRight'}]
 
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|https://www.piborg.org/sensors-1136/ultraborg] that has both support for four servos and four HC-SR04 ultrasonic sensors, with a support library in Python.

!! MB1614 HRLV-ShortRange-EZ1T

[{Image src='attach/UltrasonicSensor/HRLV-ShortRange-EZ.png' link='attach/UltrasonicSensor/HRLV-ShortRange-EZ.png' width='250' caption='Maxbotix MB1614 (click to enlarge)' align='right' class='imgFloatRight'}]

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).

%%blockquote
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: [https://www.maxbotix.com/ultrasonic_sensors/mb1614.htm]


!! SensComp Ultrasonics

[{Image src='attach/UltrasonicSensor/Polaroid_SX_70_Sonar_AutoFocus.jpg' link='attach/UltrasonicSensor/Polaroid_SX_70_Sonar_AutoFocus.jpg' width='300' caption='The Polaroid SX-70 Sonar (click to enlarge)' align='right' class='imgFloatRight'}]

A more advanced sensor is available from [SensComp|http://www.senscomp.com/], 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.
%%blockquote
SensComp offers a complete Development kit using the Arduino. This is the __Smart Sensor Ultrasonic Development Kit For Arduino__, [attached is a spec sheet|UltrasonicSensor/Smart_Sensor_Ultrasonic_Development_Kit_for_Arduino_Spec-201303-08.pdf] for the kit. I have also included the [spec sheet for the Smart sensor|UltrasonicSensor/Smart_Sensor_Spec_2013-03-08.pdf] itself which can also be purchased separately. Also [attached is the code|attach/UltrasonicSensor/Ping_SMRT.ino] for the development kit.
%%
That is:
* [Smart Sensor Ultrasonic Development Kit For Arduino|UltrasonicSensor/Smart_Sensor_Ultrasonic_Development_Kit_for_Arduino_Spec-201303-08.pdf] 
* [Smart Sensor Specifications|UltrasonicSensor/Smart_Sensor_Spec_2013-03-08.pdf] 
* [Ping_SMRT.ino|https://service.robots.org.nz/wiki/attach/UltrasonicSensor/Ping_SMRT.ino], Arduino code for the development kit.

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.