KevsRobots Learning Platform
63% Percent Complete
By Kevin McAleer, 5 Minutes
Burgerbot includes a simple range finder sensor at the front of the robot.

Ultrasonic range finders are versatile and widely used devices that measure distance by utilizing the principles of sound wave propagation. These handy gadgets have found their way into a plethora of applications, from robotics and automation to obstacle detection and parking assistance.
Ultrasonic range finders operate using the basic principles of echolocation, a technique employed by animals such as bats and dolphins to navigate and locate objects. Here’s a step-by-step explanation of the process:
Transmitter: The range finder consists of a transmitter that emits ultrasonic sound waves, typically at frequencies between 20 kHz and 200 kHz. These frequencies are higher than the audible range for humans, which is why they’re called "ultrasonic".
Sound Wave Propagation: The emitted sound waves travel through the air and eventually reach an object or surface in their path.
Reflection: Upon hitting the object, the sound waves reflect back towards the range finder.
Receiver: The device has a built-in receiver that detects the reflected sound waves, often using a piezoelectric element that converts the mechanical vibration of the sound waves into an electrical signal.
Time-of-Flight Calculation: The range finder measures the time it takes for the emitted sound waves to travel to the object and bounce back. This is known as the “time of flight.”
Distance Calculation : Using the time of flight and the known speed of sound in air (approximately 343 meters per second), the range finder calculates the distance to the object using the following formula:
Distance = (Time of Flight x Speed of Sound) / 2
The division by 2 accounts for the fact that the sound waves travel to the object and back, covering twice the actual distance.
The BurgerBot library makes it incredibly easy to measure distance - just use the bot.distance property!
The code:
from burgerbot import Burgerbot
bot = Burgerbot()
# Take a single distance measurement
distance = bot.distance
print(f"Distance to object: {distance} cm")
How it works:
bot.distance triggers the rangefinder to send ultrasonic pulsesFor robotics applications, you typically want to monitor distance continuously:
from burgerbot import Burgerbot
import time
bot = Burgerbot()
# Monitor distance every 0.5 seconds
while True:
distance = bot.distance
print(f"Distance: {distance} cm")
if distance < 10:
print("Warning: Object very close!")
elif distance < 30:
print("Object detected nearby")
else:
print("Path is clear")
time.sleep(0.5) # Wait before next reading
What this does: Continuously reads distance and provides warnings based on proximity.
Here’s a real-world example that changes robot behavior based on distance:
from burgerbot import Burgerbot
bot = Burgerbot()
distance = bot.distance
if distance > 50:
print("Path clear - full speed ahead!")
bot.forward(2)
elif distance > 20:
print("Object detected - approaching carefully")
bot.forward(1)
elif distance > 10:
print("Getting close - slowing down")
bot.forward(0.5)
else:
print("Too close! Stopping")
bot.stop()
Why this is useful: Robots can adjust their speed based on proximity to obstacles, creating smoother and safer navigation.
bot.distance always returns 0Why: The rangefinder needs both pins connected to send pulses (Trigger) and receive echoes (Echo)
Why: Ultrasonic sensors can occasionally pick up echoes from multiple surfaces, causing temporary fluctuations
Why: The sound waves need physical space to separate the outgoing pulse from the incoming echo
Why: Soft materials absorb ultrasonic waves, and angles cause waves to bounce away rather than back to the sensor
Now that you can measure distance, let’s practice:
Distance logger: Create a program that measures distance every second and saves it to a list. After 10 measurements, print the average distance.
Object detector: Write code that continuously monitors distance and beeps (print “BEEP!”) when an object comes within 15cm.
Advanced Challenge: Create a “parking assistant” - move the robot forward until it’s exactly 10cm from a wall, then stop. The robot should slow down as it approaches the target distance!
Now that you understand how to measure distance, the next lesson will teach you how to use this information for object avoidance - making your BurgerBot navigate autonomously!
You can use the arrows ← → on your keyboard to navigate between lessons.
Comments