Lecture 1: Your Boe-Bot's Servo Motors
Presentation based on:
"Robotics with the Boe-Bot"
By Andy Lindsay
Parallax, Inc
Presentation developed by:
Martin A. Hebel
Southern Illinois University Carbondale
College of Applied Sciences and Arts
Electronic Systems Technologies
7/6/04
1
Continuous Rotation Servo
Used to provide drive motion for the Bot.
Standard Servo: Used for positioning, such as
with RC airplanes rudder and flaps.
Continuous Rotation Servo: Rotate in a certain
direction and speed.
2
Tracking Time
PAUSE is used to have the BASIC Stamp
wait a short amount of time.
PAUSE duration
• Duration is in milliseconds (mS) or 1/1000th
of a second, 1-65535
PAUSE 1000
3
4
Repeating Actions
A DO….LOOP is used to repeat a
sequence of commands.
DO
'Commands to perform
LOOP
5
Servo Signals
Servos are controlled with a high pulse
lasting a short time, and repeated.
The PULSOUT instruction can be used
to send a short pulse.
PULSOUT Pin, Duration
• Pin: Pin device is connected to.
• Duration: Time in 2S (microsecond)
intervals, 1-65535. Microsecond = 1
millionth of a second.
PULSOUT 12, 1
PULSOUT 13, 2
6
7
Servo Signals
Typical servos require a pulse of 1mS to
2mS to define the direction/position.
A 20mS pause be between each pulse.
What values of PULSOUT are in the valid
range?
8
Connecting the Servos
9
10
Centering the Servos
The pulse width defines the direction and
speed of the servo motor.
• 1000 – Maximum speed one direction
• 750 – Stopped
• 500 – Maximum speed other direction
Use the servo center programs to ensure
it is stopped at 750.
11
12
Storing and Counting Values
Variable are used to store values
Variables much be declared prior to
being used. Declaring a variable is giving
it a name, and a size to hold.
VariableName var Size
13
DEBUG ? is short hand to display the value of a
variable or pin.
14
Counting and Controlling Repetitions
FOR…NEXT loops can be used to control
the number of repetitions a segment of
code takes.
FOR StartValue TO EndValue {STEP StepValue}
…
NEXT
15
What will this code do?
Freq VAR Word
DO
FOR Freq = 1000 to 5000 Step 100
DEBUG ? Freq
FREQOUT 4, 100, Freq
TOGGLE 12
TOGGLE 13
NEXT
LOOP
16
Testing Servos
To control the servo, send a series of
pulses with values between 500 to 1000
(1-2mS)
Changing the value will change the
direction and speed to some extent.
17
FOR…NEXT to Control Servo Run Time
The FOR…NEXT Loop can be used to
control how long to drive a servo.
18
19
Review
20
21
© Copyright 2026 Paperzz