Exploring Arduino, 2nd Edition

Book description

The bestselling beginner Arduino guide, updated with new projects!

Exploring Arduino makes electrical engineering and embedded software accessible. Learn step by step everything you need to know about electrical engineering, programming, and human-computer interaction through a series of increasingly complex projects. Arduino guru Jeremy Blum walks you through each build, providing code snippets and schematics that will remain useful for future projects. Projects are accompanied by downloadable source code, tips and tricks, and video tutorials to help you master Arduino. You'll gain the skills you need to develop your own microcontroller projects!

This new 2nd edition has been updated to cover the rapidly-expanding Arduino ecosystem, and includes new full-color graphics for easier reference. Servo motors and stepper motors are covered in richer detail, and you'll find more excerpts about technical details behind the topics covered in the book. Wireless connectivity and the Internet-of-Things are now more prominently featured in the advanced projects to reflect Arduino's growing capabilities. You'll learn how Arduino compares to its competition, and how to determine which board is right for your project. If you're ready to start creating, this book is your ultimate guide!

  • Get up to date on the evolving Arduino hardware, software, and capabilities
  • Build projects that interface with other devices—wirelessly!
  • Learn the basics of electrical engineering and programming
  • Access downloadable materials and source code for every project

Whether you're a first-timer just starting out in electronics, or a pro looking to mock-up more complex builds, Arduino is a fantastic tool for building a variety of devices. This book offers a comprehensive tour of the hardware itself, plus in-depth introduction to the various peripherals, tools, and techniques used to turn your little Arduino device into something useful, artistic, and educational. Exploring Arduino is your roadmap to adventure—start your journey today!

Table of contents

  1. Cover
  2. Introduction
    1. Why Arduino?
    2. Who This Book Is For
    3. What You'll Learn in This Book
    4. Features Used in This Book
    5. Getting the Parts
    6. What You'll Need
    7. Source Code and Digital Content
    8. Errata
    9. Supplementary Material and Support
    10. What Is an Arduino?
    11. An Open Source Platform
    12. Beyond This Book
  3. I: Arduino Engineering Basics
    1. 1 Getting Started and Understanding the Arduino Landscape
      1. Exploring the Arduino Ecosystem
      2. Creating Your First Program
      3. Summary
    2. 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
    3. 3 Interfacing with 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
  4. II: Interfacing with Your Environment
    1. 4 Using Transistors and Driving DC Motors
      1. Driving DC Motors
      2. Building a Roving Robot
      3. Summary
    2. 5 Driving Stepper and Servo Motors
      1. Driving Servo Motors
      2. Building a Sweeping Distance Sensor
      3. Understanding and Driving Stepper Motors
      4. Building a “One-Minute Chronograph”
      5. Summary
    3. 6 Making Sounds and Music
      1. Understanding How Speakers Work
      2. Using tone() to Make Sounds
      3. Building a Micro Piano
      4. Summary
    4. 7 USB Serial Communication
      1. Understanding the Arduino's Serial Communication Capabilities
      2. Listening to the Arduino
      3. Talking to the Arduino
      4. Talking to a Desktop App
      5. Summary
    5. 8 Emulating USB Devices
      1. Emulating a Keyboard
      2. Emulating a Mouse
      3. Summary
    6. 9 Shift Registers
      1. Understanding Shift Registers
      2. Controlling Light Animations with a Shift Register
      3. Summary
  5. III: Communication Interfaces
    1. 10 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
    2. 11 The SPI Bus and Third-Party Libraries
      1. Overview of the SPI Bus
      2. SPI Hardware and Communication Design
      3. Comparing SPI to I2C and UART
      4. Communicating with an SPI Accelerometer
      5. Creating an Audiovisual Instrument Using a 3-Axis Accelerometer
      6. Summary
    3. 12 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
  6. IV: Digging Deeper and Combining Functions
    1. 13 Interrupts and Other Special Functions
      1. Using Hardware Interrupts
      2. Using Timer Interrupts
      3. Building an Interrupt-Driven Sound Machine
      4. Summary
    2. 14 Data Logging with SD Cards
      1. Getting Ready for Data Logging
      2. Interfacing the Arduino with an SD Card
      3. Real-Time Clocks
      4. Building an Entrance Logger
      5. Summary
  7. V: Going Wireless
    1. 15 Wireless RF Communications
      1. The Electromagnetic Spectrum
      2. Receiving Key Presses with the RF Link
      3. Making a Wireless Doorbell
      4. The Start of Your Smart Home—Controlling a Lamp
      5. Summary
    2. 16 Bluetooth Connectivity
      1. Demystifying Bluetooth
      2. Communication between Your Arduino and Your Phone
      3. Controlling an AC Lamp with Bluetooth
      4. Summary
    3. 17 Wi-Fi and the Cloud
      1. The Web, the Arduino, and You
      2. Controlling Your Arduino from the Web
      3. Interfacing with Web APIs
      4. Summary
  8. Appendix A: Deciphering Datasheets and Schematics
    1. Reading Datasheets
    2. Understanding the Arduino Schematic
  9. Index
  10. About the Author
    1. About the Technical Editor
  11. Acknowledgments
  12. Figure Credits
  13. End User License Agreement

Product information

  • Title: Exploring Arduino, 2nd Edition
  • Author(s): Jeremy Blum
  • Release date: November 2019
  • Publisher(s): Wiley
  • ISBN: 9781119405375