We define a list of member names that is terminated by a NULL pointer. The
list’s first entry is “nobody,” so we don’t have to deal with the rare edge case
when nobody is to blame. Then we use
members
to initialize a new
Team
object
and pass this object to the
Blaminatr
’s constructor.
More Motors Projects
Motors are fascinating. Search the Net, and you’ll find numerous projects combining
the Arduino with motors. Most of them probably deal with robots
a
or remote-controlled
cars.
You’ll also find useful and exciting project like the USB hourglass.
b
It uses an Arduino
and a servo motor to turn a sand timer, and it observes the falling sand using an
optical sensor. Whenever all the sand has fallen through, the device turns the timer
automatically.
That’s all nice, but the device’s main purpose is to generate true random numbers.
Falling sand is a perfect basis for generating true randomness (see Generating Random
Numbers, on page 48), and the USB hourglass uses the signals from its optical sensor
to generate random numbers, sending them to the serial port.
a.
http://makezine.com/projects/building-a-simple-arduino-robot/
b.
http://makezine.com/2009/12/23/usb-hourglass-random-number-generat/
In the
setup
function, we initialize the serial port and attach the
Blaminatr
’s
servo motor to the pin we defined in
MOTOR_PIN
. Also, we initialize the
Blaminatr
by blaming “nobody.”
The
loop
function is nearly the same as in First Steps with a Servo Motor, on
page 227. The only difference is that we do not control a servo directly, but
instead call
blame
in line 28.
That’s it! You can now start to draw your own display and create your own
arrow. Attach them directly to the motor or—even better—put everything into
a nice box. Compile and upload the software and start to blame.
Of course, you can use motors for more serious projects. You can use them
to build robots running on wheels or similar devices. But you cannot attach
too many motors to a “naked” Arduino, because it isn’t meant for driving
bigger loads. So if you have a project in mind that needs a significant number
of motors, you should consider buying a motor shield
5
or using a special
shield, such as the Robotics Shield Kit.
6
5. You can find them at
http://adafruit.com
or
http://makershed.com
.
6.
http://www.parallax.com/product/130-35000
Chapter 13. Controlling Motors with Arduino • 234
report erratum • discuss
www.it-ebooks.info