Page 118 ·
Robotics with the Boe-Bot
SUMMARY
This chapter covered Boe-Bot assembly and testing. This involved mechanical assembly,
such as connecting the various moving parts to the Boe-Bot chassis. It also involved
circuit assembly, connecting the servos and piezospeaker. The testing involved retesting
the servos after they were disconnected to build the Boe-Bot.
The concept of brownout was introduced along with what this condition does to a
program running on the BASIC Stamp. Brownout causes the BASIC Stamp to shut
down, and then start running the program from the beginning. A piezospeaker was added
to signal the start of a program. If the piezospeaker sounds in the middle of a running
program when it’s not supposed to, this can indicate a brownout condition. Brownout
conditions can in turn indicate low batteries. To make the piezospeaker play a tone to
indicate a reset, the
FREQOUT
command was introduced. This command is part of an
initialization routine that will be used at the beginning of all Boe-Bot programs.
Until this chapter, the Debug Terminal has been used to display messages sent to the
computer by the BASIC Stamp. These messages were displayed in the Receive
windowpane. The Debug Terminal also has a Transmit windowpane that you can use to
send values to the BASIC Stamp. The BASIC Stamp can capture these values by
executing the
DEBUGIN
command, which receives a value sent by the Debug Terminal's
transmit windowpane and stores it in a variable. The value can then be used by the
PBASIC program. This technique was used to set the pulse widths to control and test
servo speed and direction. It was also used as a data collection aid for plotting the
transfer curve of a continuous rotation servo.
Questions
1.
What are some of the symptoms of brownout on the Boe-Bot?
2.
How can a piezospeaker be used to detect brownout?
3.
What is a reset?
4.
What is an initialization routine?
5.
What are three (or more) possible mistakes that can occur when disconnecting
and reconnecting the servos?
6.
What command do you have to change in RightServoTest.bs2 to test the left
wheel instead of the right wheel?