Using the Ultrasonic Sensor

The Ultrasonic Sensor can measure the distance to an object in front of it. It does this by sending out sound waves and measuring how long it takes the sound to reflect back to the sensor. The sound frequency is too high for you to hear (“ultrasonic”).

You can measure the distance to an object in either inches or centimetres. You could use this, for example, to make your robot stop a certain distance from a wall.

You can also use the Ultrasonic Sensor to detect whether another ultrasonic sensor nearby is operating. For example, you could use this to detect the presence of another robot that is using an ultrasonic sensor nearby. In this “listen only” mode, the sensor listens for sound signals but does not send them.
Ultrasonic Sensor Data
The Ultrasonic Sensor can give the following data:
DataTypeRangeNotes
Distance in CentimetresNumeric0 to 255Distance to object in centimetres.
Distance in InchesNumeric0 to 100Distance to object in inches.
Ultrasound DetectedLogicTrue/FalseTrue if another ultrasonic sensor is detected.
Tips and Tricks
The Ultrasonic Sensor works best to detect objects with hard surfaces that reflect sound well. Soft objects, such as cloth, may absorb the sound waves and not be detected. Objects with rounded or angled surfaces are also harder to detect.
The sensor cannot detect objects that are very close to the sensor (closer than about 3 cm or 1.5 inches).
The sensor has a wide “field of view” and may detect a closer object off to the side instead of a farther object straight ahead.
Examples Using the Ultrasonic Sensor
Some examples of how you can use the Ultrasonic Sensor in your program are shown below.
Example 1: Stop a Certain Distance before a Wall
This program makes a robot drive forward until the Ultrasonic Sensor detects something closer than 10 inches, then the robot is stopped. The program uses the Wait block in the Ultrasonic Sensor - Compare – Distance Inches mode to wait for the detected distance to become less than 10 inches. If the Ultrasonic Sensor is facing forward, the robot will stop about 10 inches before a wall.
Tips and Tricks
Remember to use the On mode of the Move Steering block when you want to drive while waiting for a sensor.
Example 2: Sound an Alarm when an Object is Detected Nearby
This program has the robot make a sound whenever the Ultrasonic Sensor detects an object closer than 50 centimetres away. The program uses a Switch with the Ultrasonic Sensor - Compare – Distance Centimetres mode to test whether the distance detected is less than 50 centimetres. If so, the Switch plays a tone. The Switch is repeated in a loop so that the test is repeated continuously.
Tips and Tricks
While running this program, try moving objects around in front of the sensor to experiment with how wide the sensor’s “field of view” is.
Example 3: Gradually Slow Down Before Reaching an Object
This program makes a robot gradually slow down and then stop about 10 cm away from anything it detects in front of it. The closer it gets to the object, the slower it will drive.

The program uses the Ultrasonic Sensor block in the Measure – Distance Centimetres mode to get a distance measurement and get the resulting number on a data wire. A Mathematics block then subtracts 10 from the distance, and the result is wired to the Power input of a Move Steering block. Shorter distances result in lower power, and when the distance reaches 10 cm, the power will be zero, and the robot will stop. The process is repeated in a loop so that the motor power is adjusted continuously based on new distance measurements.
Tips and Tricks
You can also try moving the object while this program is running. The robot will continuously adjust its speed.
Ultrasonic Sensor Blocks and Modes
The table below shows all of the programming blocks and modes that you can use with the Ultrasonic Sensor. The Distance modes have sub-modes that let you choose between centimetres and inches.
BlockModeUse
Wait Ultrasonic Sensor - Compare – DistanceWait for the distance to reach a certain value.
WaitUltrasonic Sensor - Compare – PresenceWait, in “listen only” mode, for an ultrasonic signal to be detected.
WaitUltrasonic Sensor - Change – DistanceWait for the distance to change by a certain amount.
Loop Ultrasonic Sensor -
Compare - Distance
Repeat a sequence of blocks until the distance reaches a certain value.
LoopUltrasonic Sensor – Compare - PresenceRepeat a sequence of blocks until an ultrasonic signal is detected, in “listen only” mode.
LoopUltrasonic Sensor – Change - DistanceRepeat a sequence of blocks until the distance changes by a certain amount.
Switch Ultrasonic Sensor – Compare - DistanceChoose between two sequences of blocks based on the distance.
SwitchUltrasonic Sensor – Compare - PresenceChoose between two sequences of blocks based on whether an ultrasonic signal is detected in “listen only” mode.
Ultrasonic SensorMeasure – DistanceMeasure the distance and get the result on a Numeric data wire.
Ultrasonic SensorMeasure – PresenceListen for other ultrasonic signals in “listen only” mode, and get the result on a Logic data wire.
Ultrasonic SensorCompare – DistanceCompare the distance to a threshold, and get the result on a Logic data wire.
Ultrasonic SensorCompare – PresenceListen for other ultrasonic signals in “listen only” mode, and get the result on a Logic data wire.
Ultrasonic SensorAdvancedSimilar to Measure – Distance, but with the option to make only a single sound ping.
Data LoggingSee Data Logging.
Ultrasonic
Quick links