Synopses & Reviews
Learn the Basics, Build the Projects, Create Your Own
The Arduino is a cheap, flexible, open source microcontroller platform designed to make it easy for hobbyists to use electronics in homemade projects. With an almost unlimited range of input and output add-ons, sensors, indicators, displays, motors, and more, the Arduino offers you countless ways to create devices that interact with the world around you.
In Arduino Workshop, you'll learn how these add-ons work and how to integrate them into your own projects. You'll start off with an overview of the Arduino system but quickly move on to coverage of various electronic components and concepts. Hands-on projects throughout the book reinforce what you've learned and show you how to apply that knowledge. As your understanding grows, the projects increase in complexity and sophistication.
Among the book's 65 projects are useful devices like:
- A digital thermometer that charts temperature changes on an LCD
- A GPS logger that records data from your travels, which can be displayed on Google Maps
- A handy tester that lets you check the voltage of any single-cell battery
- A keypad-controlled lock that requires a secret code to open
You'll also learn to build Arduino toys and games like:
- An electronic version of the classic six-sided die
- A binary quiz game that challenges your number conversion skills
- A motorized remote control tank with collision detection to keep it from crashing
Arduino Workshop will teach you the tricks and design principles of a master craftsman. Whatever your skill level, you'll have fun as you learn to harness the power of the Arduino for your own DIY projects.
Arduino is a cheap, flexible, open-source microcontroller designed to make it easy for hobbyists to use electronics in their projects. Arduino can be used to develop interactive objects that can take input from buttons and sensors and do things in response like flash LEDs or move. Because hands-on is the name of the game when it comes to playing with Arduino, Arduino Workshop contains 65 projects, carefully integrated and staged in difficulty throughout the book as readers acquire more knowledge and experience. In addition to learning basic electronics, readers learn to create more sophisticated projects like a GPS journey recorder, a graphical digital thermometer, and a precise clock set via satellite. Each chapter builds on previous chapters and step-by-step instructions walk readers through building (and understanding) the various projects. As the book progresses, readers go from creating a blinking light to building an RFID-tag time clock, a motorized tank controlled with a TV remote, and much more.
About the Author
Australian author John Boxall has been writing Arduino tutorials, projects, and kit and accessory reviews for several years at www.tronixstuff.com. Arduino Workshop is his first book.
Table of Contents
; Acknowledgments; Chapter 1: Getting Started; 1.1 The Possibilities Are Endless; 1.2 Strength in Numbers; 1.3 Parts and Accessories; 1.4 Required Software; 1.5 Safety; 1.6 Looking Ahead; Chapter 2: Exploring the Arduino Board and the IDE; 2.1 The Arduino Board; 2.2 Taking a Look Around the IDE; 2.3 Creating Your First Sketch in the IDE; 2.4 Looking Ahead; Chapter 3: First Steps; 3.1 Planning Your Projects; 3.2 About Electricity; 3.3 Electronic Components; 3.4 Project #1: Creating a Blinking LED Wave; 3.5 Using Variables; 3.6 Project #2: Repeating with for Loops; 3.7 Varying LED Brightness with Pulse-Width Modulation; 3.8 Project #3: Demonstrating PWM; 3.9 More Electric Components; 3.10 Higher-Voltage Circuits; 3.11 Looking Ahead; Chapter 4: Building Blocks; 4.1 Using Schematic Diagrams; 4.2 The Capacitor; 4.3 Digital Inputs; 4.4 Project #4: Demonstrating a Digital Input; 4.5 Boolean Variables; 4.6 Project #5: Controlling Traffic; 4.7 Analog vs. Digital Signals; 4.8 Project #6: Creating a Single-Cell Battery Tester; 4.9 Doing Arithmetic with an Arduino; 4.10 Improving Analog Measurement Precision with a Reference Voltage; 4.11 The Variable Resistor; 4.12 Piezoelectric Buzzers; 4.13 Project #7: Trying Out a Piezo Buzzer; 4.14 Project #8: Creating a Quick-Read Thermometer; 4.15 Looking Ahead; Chapter 5: Working with Functions; 5.1 Project #9: Creating a Function to Repeat an Action; 5.2 Project #10: Creating a Function to Set the Number of Blinks; 5.3 Creating a Function to Return a Value; 5.4 Project #11: Creating a Quick-Read Thermometer That Blinks the Temperature; 5.5 Displaying Data from the Arduino in the Serial Monitor; 5.6 Project #12: Displaying the Temperature in the Serial Monitor; 5.7 Making Decisions with while Statements; 5.8 Sending Data from the Serial Monitor to the Arduino; 5.9 Project #13: Multiplying a Number by Two; 5.10 long Variables; 5.11 Project #14: Using long Variables; 5.12 Looking Ahead; Chapter 6: Numbers, Variables, and Arithmetic; 6.1 Generating Random Numbers; 6.2 Project #15: Creating an Electronic Die; 6.3 A Quick Course in Binary; 6.4 Increasing Digital Outputs with Shift Registers; 6.5 Project #16: Creating an LED Binary Number Display; 6.6 Project #17: Making a Binary Quiz Game; 6.7 Arrays; 6.8 Seven-Segment LED Displays; 6.9 Project #18: Creating a Single-Digit Display; 6.10 Project #19: Controlling Two Seven-Segment LED Display Modules; 6.11 Project #20: Creating a Digital Thermometer; 6.12 LED Matrix Display Modules; 6.13 Bitwise Arithmetic; 6.14 Project #21: Creating an LED Matrix; 6.15 Project #22: Creating Images on an LED Matrix; 6.16 Project #23: Displaying an Image on an LED Matrix; 6.17 Project #24: Animating an LED Matrix; 6.18 Looking Ahead; Chapter 7: Liquid Crystal Displays; 7.1 Character LCD Modules; 7.2 Project #25: Defining Custom Characters; 7.3 Graphic LCD Modules; 7.4 Project #26: Seeing the Text Functions in Action; 7.5 Project #27: Creating a Temperature History Monitor; 7.6 Looking Ahead; Chapter 8: Expanding Your Arduino; 8.1 Shields; 8.2 ProtoShields; 8.3 Project #28: Creating a Custom Shield with Eight LEDs; 8.4 Expanding Sketches with Libraries; 8.5 MicroSD Memory Cards; 8.6 Project #29: Writing Data to the Memory Card; 8.7 Project #30: Creating a Temperature-Logging Device; 8.8 Timing Applications with millis() and micros(); 8.9 Project #31: Creating a Stopwatch; 8.10 Interrupts; 8.11 Project #32: Using Interrupts; 8.12 Looking Ahead; Chapter 9: Numeric Keypads; 9.1 Using a Numeric Keypad; 9.2 Making Decisions with switch-case; 9.3 Project #33: Creating a Keypad-Controlled Lock; 9.4 Looking Ahead; Chapter 10: Accepting User Input with Touchscreens; 10.1 Touchscreens; 10.2 Project #34: Addressing Areas on the Touchscreen; 10.3 Project #35: Creating a Two-Zone On/Off Touch Switch; 10.4 Project #36: Creating a Three-Zone Touch Switch; 10.5 Looking Ahead; Chapter 11: Meet the Arduino Family; 11.1 Project #37: Creating Your Own Breadboard Arduino; 11.2 The Many Arduino Boards; 11.3 Looking Ahead; Chapter 12: Motors and Movement; 12.1 Making Small Motions with Servos; 12.2 Project #38: Building an Analog Thermometer; 12.3 Using Electric Motors; 12.4 Project #39: Controlling the Motor; 12.5 Project #40: Building and Controlling a Tank Robot; 12.6 Sensing Collisions; 12.7 Project #41: Detecting Tank Bot Collisions with a Microswitch; 12.8 Infrared Distance Sensors; 12.9 Project #42: Detecting Tank Bot Collisions with IR Distance Sensor; 12.10 Ultrasonic Distance Sensors; 12.11 Project #43: Detecting Tank Bot Collisions with an Ultrasonic Distance Sensor; 12.12 Looking Ahead; Chapter 13: Using GPS with Your Arduino; 13.1 What Is GPS?; 13.2 Testing the GPS Shield; 13.3 Project #44: Creating a Simple GPS Receiver; 13.4 Project #45: Creating an Accurate GPS-based Clock; 13.5 Project #46: Recording the Position of a Moving Object over Time; 13.6 Looking Ahead; Chapter 14: Wireless Data; 14.1 Using Low-cost Wireless Modules; 14.2 Project #47: Creating a Wireless Remote Control; 14.3 Using XBee Wireless Data Modules for Greater Range and Faster Speed; 14.4 Project #48: Transmitting Data with an XBee; 14.5 Project #49: Building a Remote Control Thermometer; 14.6 Looking Ahead; Chapter 15: Infrared Remote Control; 15.1 What Is Infrared?; 15.2 Setting Up for Infrared; 15.3 Project #50: Creating an IR Remote Control Arduino; 15.4 Project #51: Creating an IR Remote Control Tank; 15.5 Looking Ahead; Chapter 16: Reading RFID Tags; 16.1 Inside RFID Devices; 16.2 Testing the Hardware; 16.3 Project #52: Creating a Simple RFID Control System; 16.4 Storing Data in the Arduino's Built-in EEPROM; 16.5 Project #53: Creating an RFID Control with "Last Action" Memory; 16.6 Looking Ahead; Chapter 17: Data Buses; 17.1 The I2C Bus; 17.2 Project #54: Using an External EEPROM; 17.3 Project #55: Using a Port Expander IC; 17.4 The SPI Bus; 17.5 Project #56: Using a Digital Rheostat; 17.6 Looking Ahead; Chapter 18: Real-time Clocks; 18.1 Connecting the RTC Module; 18.2 Project #57: Adding and Displaying Time and Date with an RTC; 18.3 Project #58: Creating a Simple Digital Clock; 18.4 Project #59: Creating an RFID Time-Clock System; 18.5 Looking Ahead; Chapter 19: The Internet; 19.1 What You'll Need; 19.2 Project #60: Building a Remote-Monitoring Station; 19.3 Project #61: Creating an Arduino Tweeter; 19.4 Controlling Your Arduino from the Web; 19.5 Project #62: Setting Up a Remote Control for Your Arduino; 19.6 Looking Ahead; Chapter 20: Cellular Communications; 20.1 The Hardware; 20.2 Project #63: Building an Arduino Dialer; 20.3 Project #64: Building an Arduino Texter; 20.4 Project #65: Setting Up an SMS Remote Control; 20.5 Looking Ahead; Updates;