KevsRobots Learning Platform
80% Percent Complete
By Kevin McAleer, 2 Minutes
Page last updated May 10, 2025
You’ve learned how to control your robot manually. Now it’s time to make it think for itself — at least a little! In this lesson, you’ll combine your motor and sensor skills to create simple autonomous behavior.
Autonomous robots make decisions based on sensor data instead of waiting for human input. This can be as simple as:
We’ll build a basic robot that explores its environment and avoids crashing into things.
Here’s a simple behavior loop:
This example assumes:
forward()
, backward()
, left()
, right()
, stop()
from time import sleep
from machine import Pin, time_pulse_us, PWM
# Set up motors and ultrasonic sensor
# (use previous lessons for wiring and functions)
def get_distance():
# Trigger pulse and measure response
trigger.low()
sleep(0.002)
trigger.high()
sleep(0.01)
trigger.low()
duration = time_pulse_us(echo, 1, 30000)
return duration / 58
def explore():
while True:
distance = get_distance()
print("Distance:", distance)
if distance > 20:
forward()
else:
stop()
backward()
sleep(0.5)
stop()
right()
sleep(0.5)
stop()
sleep(0.1)
# Run the loop
explore()
If your sensor is on a servo, sweep left and right, then turn toward the direction with more space:
def scan_and_choose():
set_angle(45)
left_dist = get_distance()
set_angle(135)
right_dist = get_distance()
set_angle(90) # Reset forward
if right_dist > left_dist:
right()
else:
left()
With autonomous behavior, your robot can now explore without constant input — a major milestone in robotics!
Next up: Final Project – Build Your Own Robot
You can use the arrows ← →
on your keyboard to navigate between lessons.