You are previewing Exploring Arduino: Tools and Techniques for Engineering Wizardry.
O'Reilly logo
Exploring Arduino: Tools and Techniques for Engineering Wizardry

Book Description

Learn to easily build gadgets, gizmos, robots, and more using Arduino

Written by Arduino expert Jeremy Blum, this unique book uses the popular Arduino microcontroller platform as an instrument to teach you about topics in electrical engineering, programming, and human-computer interaction. Whether you're a budding hobbyist or an engineer, you'll benefit from the perfectly paced lessons that walk you through useful, artistic, and educational exercises that gradually get more advanced. In addition to specific projects, the book shares best practices in programming and design that you can apply to your own projects. Code snippets and schematics will serve as a useful reference for future projects even after you've mastered all the topics in the book.

  • Includes a number of projects that utilize different capabilities of the Arduino, while interfacing with external hardware

  • Features chapters that build upon each other, tying in concepts from previous chapters to illustrate new ones

  • Includes aspects that are accompanied by video tutorials and other multimedia content

  • Covers electrical engineering and programming concepts, interfacing with the world through analog and digital sensors, communicating with a computer and other devices, and internet connectivity

  • Explains how to combine smaller topics into more complex projects

  • Shares downloadable materials and source code for everything covered in the book

Exploring Arduino takes you on an adventure and provides you with exclusive access to materials not found anywhere else!

Table of Contents

  1. Cover Page
  2. Title Page
  3. Copyright
  4. Dedication
  5. Credits
  6. About the Author
  7. About the Technical Editor
  8. Acknowledgments
  9. Contents at a Glance
  10. Contents
  11. Introduction
    1. Who This Book Is For
    2. What You'll Learn in This Book
    3. Features Used in This Book
    4. Getting the Parts
    5. What You'll Need
    6. Source Code and Digital Content
    7. Errata
    8. Supplementary Material and Support
    9. What Is an Arduino?
    10. An Open Source Platform
    11. Beyond This Book
  12. Part I: Arduino Engineering Basics
    1. In This Part
    2. CHAPTER 1: Getting Up and Blinking with the Arduino
      1. Exploring the Arduino Ecosystem
      2. Creating Your First Program
      3. Summary
    3. CHAPTER 2: Digital Inputs, Outputs, and Pulse-Width Modulation
      1. Digital Outputs
      2. Pulse-Width Modulation with analogWrite()
      3. Reading Digital Inputs
      4. Building a Controllable RGB LED Nightlight
      5. Summary
    4. CHAPTER 3: Reading Analog Sensors
      1. Understanding Analog and Digital Signals
      2. Reading Analog Sensors with the Arduino: analogRead()
      3. Using Variable Resistors to Make Your Own Analog Sensors
      4. Summary
  13. Part II: Controlling Your Environment
    1. In This Part
    2. CHAPTER 4: Using Transistors and Driving Motors
      1. Driving DC Motors
      2. Driving Servo Motors
      3. Building a Sweeping Distance Sensor
      4. Summary
    3. CHAPTER 5: Making Sounds
      1. Understanding How Speakers Work
      2. Using tone() to Make Sounds
      3. Building a Micro Piano
      4. Summary
    4. CHAPTER 6: USB and Serial Communication
      1. Understanding the Arduinos Serial Communication Capabilities
      2. Listening to the Arduino
      3. Talking to the Arduino
      4. Talking to a Desktop App
      5. Learning Special Tricks with the Arduino Leonardo (and Other 32U4-Based Arduinos)
      6. Emulating a Mouse
      7. Summary
    5. CHAPTER 7: Shift Registers
      1. Understanding Shift Registers
      2. Controlling Light Animations with a Shift Register
      3. Summary
  14. Part III: Communication Interfaces
    1. In This Part
    2. CHAPTER 8: The I2C Bus
      1. History of the I2C Bus
      2. I2C Hardware Design
      3. Communicating with an I2C Temperature Probe
      4. Combining Shift Registers, Serial Communication, and I2C Communications
      5. Summary
    3. CHAPTER 9: The SPI Bus
      1. Overview of the SPI Bus
      2. SPI Hardware and Communication Design
      3. Comparing SPI to I2C
      4. Communicating with an SPI Digital Potentiometer
      5. Creating an Audiovisual Display Using SPI Digital Potentiometers
      6. Summary
    4. CHAPTER 10: Interfacing with Liquid Crystal Displays
      1. Setting Up the LCD
      2. Using the LiquidCrystal Library to Write to the LCD
      3. Building a Personal Thermostat
      4. Summary
    5. CHAPTER 11: Wireless Communication with XBee Radios
      1. Understanding XBee Wireless Communication
      2. Configuring Your XBees
      3. Talking with Your Computer Wirelessly
      4. Talking with Another Arduino: Building a Wireless Doorbell
      5. Summary
  15. Part IV: Advanced Topics and Projects
    1. In This Part
    2. CHAPTER 12: Hardware and Timer Interrupts
      1. Using Hardware Interrupts
      2. Using Timer Interrupts
      3. Building an Interrupt-Driven Sound Machine
      4. Summary
    3. CHAPTER 13: Data Logging with SD Cards
      1. Getting Ready for Data Logging
      2. Interfacing the Arduino with an SD Card
      3. Using a Real-Time Clock
      4. Building an Entrance Logger
      5. Summary
    4. CHAPTER 14: Connecting Your Arduino to the Internet
      1. The Web, the Arduino, and You
      2. Controlling Your Arduino from the Web
      3. Sending Live Data to a Graphing Service
      4. Summary
  16. APPENDIX: Deciphering the ATMega Datasheet and Arduino Schematics
    1. Reading Datasheets
    2. Understanding the Arduino Schematic
  17. Index