Datasheet

Chapter 1 Your Shield-Bot’s Brain
10Robotics with the BOE Shield-Bot
Arduino Module Options
The Arduino Uno is the preferred module for the Shield-Bot robot.
This tutorial was also tested with a Duemilanove and original Mega. These Arduino modules
automatically decide whether to draw power from USB or an external source (like the
Shield-Bot’s battery pack).
Older Arduino Models are not guaranteed to work. If you have one, you may have to set its
power selection jumper. (Don’t worry about this if you have an Uno, Duemilanove, or Mega.) The
circuit is labeled PWR_SEL. It is three pins with a small cover called a shunt that slides over two of
three pins. For now, make the shunt cover the USB and center pins. Later, when you switch to
using the Shield-Bot’s battery pack, move the shunt to cover the EXT pin and center pin instead.
Software Options
This tutorial requires the Arduino language 1.0 or higher. There are two recommended
software options for using this language.
Arduino IDE is a development environment software package that gets installed on
your computer, and you do not have to be online to use it.
Codebender : edu is a very easy to use, web-browser-based editor for Arduino
sketches. It offers classroom subscriptions, and it is accessible online from a variety
of operating systems and browsers.
If this is your first time using an Arduino, Activity #1 will help you get started with your
choice of software, connecting your hardware, and testing your programming connection.
The rest of this chapter includes a series of example programs (called sketches) that
introduce common programming concepts. The sketches will do some of the most basic yet
important things for a robot:
Say “Hello!”
Store and retrieve values
Solve math problems
Make decisions
Count and control repetitions
These examples don’t require interaction with external circuits. In later chapters you will
start building circuits and make your robot move. You will also learn additional
programming techniques like keeping lists of values and writing pieces of reusable code.