Log In
Or create an account ->
Imperial Library
Home
About
News
Upload
Forum
Help
Login/SignUp
Index
Make an Arduino-Controlled Robot
A Note Regarding Supplemental Files
Preface
Who This Book Is For
How This Book Is Organized
What Was Left Out
Code Style (About the Code)
Arduino Hardware and Software
Conventions Used in This Book
Using Code Examples
SafariĀ® Books Online
How to Contact Us
Acknowledgments
1. Introduction to Robot Building
Why Build a Robot?
How Robots Move
Tools
2. Building the Electronics
Hardware Required
Construction Techniques
Soldering
Building the Motor Controller
Soldering the Reflectance Sensors
Making a Line Sensor Mount
Next Steps
3. Building the Two-Wheeled Mobile Platform
Hardware Required
Mechanical Assembly
Lay Out the Chassis Parts
Motor Assembly
Assemble the Chassis Components
Attaching the Control Electronics
Mounting the IR sensors
Mounting the IR Sensors for Edge Detection
Mounting the IR Sensors for Line Following
Next Steps
4. Building the Four-Wheeled Mobile Platform
Hardware Required
Mechanical Assembly
Lay Out the Chassis Parts
Motor Assembly
Assemble the Chassis Components
Solder the Power and Motor Connections
Connecting the Battery Pack and Power Switch
Building the Optional Trickle Charger
Assemble the Chassis
Mounting Arduino and Connecting Wires to the Shield
Mounting the IR sensors
Mounting the IR Sensors for Edge Detection
Mounting the IR Sensors for Line Following
Next Steps
5. Tutorial: Getting Started with Arduino
Hardware Required
Arduino Software
Arduino Hardware
Installing the Integrated Development Environment (IDE)
Installing Arduino on Windows
Installing Arduino on OS X
Installing Arduino on Linux
Driver Installation
Connecting the Arduino Board
Using the IDE
Uploading and Running the Blink Sketch
Using Tabs
Installing Third-Party Libraries
6. Testing the Robot's Basic Functions
Hardware Required
Software Prerequisites
Sketches Used in This Chapter
Load and Run helloRobot.ino
About the Sketch
Troubleshooting
Making the Sketch Easy to Enhance
7. Controlling Speed and Direction
Hardware Required
Sketches Used in This Chapter
Types of Motors
Motor Controllers
Controlling Motor Speed
How Motor Speed Is Controlled
Code for Motor Control
Calibrating Rotation and Tracking
Software Architecture for Robot Mobility
Functions to Encapsulate Robot Movements
Core Movement Code
Additional Core Functions
Functions to Rotate the Robot
Higher-Level Movement Functions
8. Tutorial: Introduction to Sensors
Hardware Discussed
Software
Infrared Reflectance Sensors
Sonar Distance Sensors
Maxbotix EZ1 Sonar Distance Sensor
Sharp IR Distance Sensor
Proximity Sensor
Sound Sensor
Arduino Cookbook
9. Modifying the Robot to React to Edges and Lines
Hardware Required
Sketches Used in This Chapter
The Look Code
Edge Detection
Line Following
Seeing Sketch Data
10. Autonomous Movement
Hardware Required
Sketches Used in This Chapter
Mounting a Ping Distance Sensor
Making a Mount for the Ping Sensor
Mounting the Ping Sensor in a Fixed Position
Mounting the Ping Sensor on a Servo
Letting the Robot Wander
Adding Scanning
11. Remote Control
Hardware Required
Sketches Used in This Chapter
Design of the Remote Control Code
Controlling the Robot with a TV Type IR Remote
Installing the IR Decoder Chip
The IR Remote Software
A. Enhancing Your Robot
Planning
Think Before You Code
Avoid Feature Bloat
Don't Reinvent the Wheel
Structure to Reflect Functionality
Use Clear Names for Functions and Variables
Implementing a Complex Project
Test Often
Simplify
If It Is Awkward, Start Over
Don't Confuse Activity with Progress
Experiment
Be Tenacious
Have Fun
B. Using Other Hardware with Your Robot
Alternative Motor Controllers
Ardumoto
Continuous Rotation Servos
C. Debugging Your Robot
Identify the Symptoms and Localize the problem
Seeing What the Robot Is Doing
D. Power Sources
Monitoring Battery Voltage
Trickle Charging
E. Programming Constructs
Digital I/O
Analog I/O
Math functions
Other Functions and Constructs
F. Arduino Pin and Timer Usage
Handling Resource Conflicts
Modifying a Library to Change Timer Allocation
Writing Code That Avoids the Use of a Timer
Pin and Timer Tables
About the Author
Copyright
← Prev
Back
Next →
← Prev
Back
Next →