Acknowledgments |
|
xi | |
Introduction |
|
xiii | |
|
Part 1 Arduino Robot Basics |
|
|
|
Chapter 1 Introducing the Arduino Development Platform |
|
|
3 | (20) |
|
|
4 | (1) |
|
Why the Arduino for Robotics |
|
|
5 | (1) |
|
Robot Stuff You Can Do with the Arduino |
|
|
6 | (1) |
|
|
7 | (10) |
|
|
17 | (1) |
|
Look at All the Blinky Lights |
|
|
18 | (1) |
|
Older Versions of the Arduino Boards |
|
|
18 | (1) |
|
A Closer Look at Arduino Software |
|
|
19 | (3) |
|
Ready Expansion via Breadboards and Shields |
|
|
22 | (1) |
|
Chapter 2 Arduino Up and Running |
|
|
23 | (24) |
|
|
24 | (1) |
|
|
25 | (5) |
|
Looking Again at the Arduino |
|
|
30 | (1) |
|
Getting Started with Microcontroller Programming |
|
|
31 | (4) |
|
Anatomy of an Arduino Sketch |
|
|
35 | (1) |
|
Hands-on Example 1: Ye Olde LED Flasher |
|
|
36 | (2) |
|
Hands-on Example 2: Ye Olde LED Flasher, Take 2 |
|
|
38 | (2) |
|
Hands-on Example 3: Reacting to a Pushbutton |
|
|
40 | (3) |
|
Hands-on Example 4: Making Your Arduino Sound Off |
|
|
43 | (4) |
|
Chapter 3 Building the Teachbot Learning Platform |
|
|
47 | (24) |
|
Introduction to the Teachbot Servo Platform |
|
|
48 | (1) |
|
|
49 | (1) |
|
Making the Teachbot Servo Base |
|
|
50 | (4) |
|
|
54 | (7) |
|
How the Teachbot Servo Moves Around |
|
|
61 | (10) |
|
Chapter 4 Programming the Teachbot: Making It Move |
|
|
71 | (26) |
|
Wiring Up and Testing a Single Servo |
|
|
71 | (6) |
|
|
77 | (8) |
|
Controlling the Teachbot Servo Using Wired Control |
|
|
85 | (4) |
|
More About the Servo Object |
|
|
89 | (6) |
|
Limitations of Modified Servos |
|
|
95 | (2) |
|
Chapter 5 Programming the Teachbot: Seeing It React |
|
|
97 | (28) |
|
Getting in Touch with Your Robot |
|
|
98 | (1) |
|
Using Leaf Switches as Bumpers |
|
|
99 | (8) |
|
Let There Be Light (And Let Your Teachbot See It!) |
|
|
107 | (6) |
|
|
113 | (12) |
|
Chapter 6 Programming the Teachbot: Letting It Explore |
|
|
125 | (20) |
|
Understanding Non-contact, Near-Object Detection |
|
|
126 | (1) |
|
Using an Ultrasonic Distance Sensor |
|
|
126 | (4) |
|
|
130 | (4) |
|
Adding a Sharp GP2Y0D810 Infrared Detector |
|
|
134 | (1) |
|
Adding a Sharp GP2D120 Infrared Detector |
|
|
135 | (4) |
|
Adding a Power Switch to the Teachbot |
|
|
139 | (2) |
|
Review of Teachbot Servo Connections |
|
|
141 | (4) |
|
|
|
Chapter 7 Making Things: Mechanical |
|
|
145 | (16) |
|
Important Tools for Making Robots |
|
|
146 | (1) |
|
Robot Construction Materials |
|
|
147 | (5) |
|
|
152 | (5) |
|
|
157 | (4) |
|
Chapter 8 Making Things: Electronic |
|
|
161 | (26) |
|
Using Solderless Breadboards |
|
|
161 | (3) |
|
|
164 | (3) |
|
Tools for Electronic Construction |
|
|
167 | (1) |
|
Understanding Wires and Wiring |
|
|
167 | (1) |
|
Connecting Things Together |
|
|
167 | (4) |
|
|
171 | (4) |
|
What You Need to Know About Interfacing |
|
|
175 | (7) |
|
Reducing Electrical Interference for Inputs and Outputs |
|
|
182 | (5) |
|
Part 3 Hands-on Arduino Robot Projects |
|
|
|
Chapter 9 Enhancing the Teachbot |
|
|
187 | (38) |
|
|
188 | (2) |
|
Constructing the Teachbot DC |
|
|
190 | (5) |
|
|
195 | (4) |
|
Running the Teachbot DC Through Its Paces |
|
|
199 | (2) |
|
Testing Motor Speed Control |
|
|
201 | (1) |
|
Adding a Line-Following Module |
|
|
202 | (6) |
|
|
208 | (11) |
|
|
219 | (4) |
|
Going Further with the Teachbot |
|
|
223 | (2) |
|
Chapter 10 The Amazing Tunebot |
|
|
225 | (40) |
|
|
226 | (1) |
|
|
227 | (5) |
|
Testing and Using the Tunebot's Gear Motors |
|
|
232 | (6) |
|
Using Electronic Motor Control |
|
|
238 | (1) |
|
Replacing the Tamiya Gearbox Motors |
|
|
239 | (1) |
|
Mounting the Arduino and Other Electronics |
|
|
240 | (6) |
|
Constructing the Battery Power Supply |
|
|
246 | (1) |
|
|
247 | (3) |
|
Attaching Line Follower Module |
|
|
250 | (1) |
|
|
251 | (11) |
|
Programming Robot Motions and Music |
|
|
262 | (1) |
|
Extending the Tunebot with Proximity and Touch Sensors |
|
|
263 | (1) |
|
On the Web: Enhancing the Tunebot with Rigid Tracks |
|
|
264 | (1) |
|
Chapter 11 Going Places with the Telebot |
|
|
265 | (28) |
|
Using Radio Waves to Control a Robot |
|
|
266 | (3) |
|
Three Arduinos, One Telebot |
|
|
269 | (1) |
|
Setting Up the Telebot Remote |
|
|
269 | (8) |
|
Adding an XBee Receiver to the Telebot |
|
|
277 | (6) |
|
On the Web: Commanding the Telebot with Compass Bearings |
|
|
283 | (1) |
|
Broadcasting Real-Time Video with the Telebot |
|
|
283 | (8) |
|
|
291 | (2) |
|
Chapter 12 Why Did It Have to Be Snakes? |
|
|
293 | (28) |
|
How Snakes Move, Real and Robotic |
|
|
294 | (1) |
|
Design Concept of the Snakebot |
|
|
294 | (3) |
|
Constructing the Snakebot |
|
|
297 | (12) |
|
Wiring the Arduino Pro Mini |
|
|
309 | (2) |
|
|
311 | (6) |
|
On the Web: Using the Arduino as a Servo Controller |
|
|
317 | (1) |
|
Operating the Snakebot by Remote Control |
|
|
317 | (4) |
|
Chapter 13 Robby Armstrong |
|
|
321 | (48) |
|
Understanding Robotic Arms |
|
|
321 | (2) |
|
|
323 | (3) |
|
Constructing Robby Armstrong |
|
|
326 | (20) |
|
Attaching the Arduino Board |
|
|
346 | (1) |
|
|
347 | (3) |
|
Connecting the Control Circuits to the Arduino |
|
|
350 | (2) |
|
|
352 | (1) |
|
|
352 | (6) |
|
Programming Robby for Interactive Control |
|
|
358 | (6) |
|
Operating Robby Armstrong |
|
|
364 | (5) |
|
|
|
Appendix A ARB Online Support |
|
|
369 | (2) |
|
|
369 | (1) |
|
Sources for Special Parts and Web Sites |
|
|
369 | (2) |
|
Appendix B Parts Connection |
|
|
371 | (6) |
|
|
371 | (1) |
|
|
372 | (1) |
|
|
372 | (1) |
|
|
373 | (2) |
|
How to Find Electronic Parts in a Big Catalog |
|
|
375 | (2) |
|
Appendix C Troubleshooting Tips, or How to Keep Things from Going Worng! |
|
|
377 | (10) |
|
Start with a Preflight Check |
|
|
377 | (1) |
|
Systematic Approach to Development and Troubleshooting |
|
|
378 | (1) |
|
Using the Serial Monitor to Debug Problems |
|
|
379 | (4) |
|
Some Common Quandaries, and How to Fix Them |
|
|
383 | (4) |
Index |
|
387 | |