You are previewing Practical Arduino Engineering.
O'Reilly logo
Practical Arduino Engineering

Book Description

Arduino boards have impressed both hackers and professional engineers. Whether you're a hobbyist or a professional, it isn't just a breadboard and a hazy idea that keeps you going. It's essential to institute a proper design, device instrumentation and, indeed, test your project thoroughly before committing to a particular prototype.

Practical Arduino Engineering begins by outlining the engineering process, from the basic requirements and preliminary design to prototyping and testing. Each and every chapter exemplifies this process and demonstrates how you can profit from the implementation solid engineering principles—regardless of whether you just play in your basement or you want to publicize and sell your devices.

Arduino is a brilliant prototyping platform that allows users to test and iterate design ideas. Imitation by other Arduino makers, hackers and engineers often proves your design's popularity. Practical Arduino Engineering will teach you to follow the engineering process carefully; over time, you will be able to review and improve this process, and even extend its scope.

Practical Arduino Engineering is not purely theoretical. In addition, you'll learn the process of hardware engineering as applicable to Arduino projects, and the importance of the process in each and every project presented in this book.

To set the stage, Practical Arduino Engineering begins by reviewing the Arduino software landscape, then shows how to set up an Arduino project for testing. Even if you already know your compiler toolchain and the basics of Arduino programming, this refresher course can help fill in the gaps and explain why your compiler may spit out certain error messages.

Practical Arduino Engineering then gradually builds up the engineering process, from single devices like LCDs, potentiometers and GPS modules, to the integration of several modules into larger projects, such as a wireless temperature measurement system, and ultimately an entire robot.

The engineering projects become progressively more challenging throughout the first 4 engineering chapters. Next, you'll proceed with simple steps towards the first intelligent part of a robot: the object detector. You'll find yourself teaching your robot how to avoid very hot objects or insurmountable obstacles. The basic design requirements for a complete robot and, indeed, the detailed design and prototyping for robots can be extremely tricky, which is why engineering discipline is invaluable.

Practical Arduino Engineering then enters the world of domestic engineering by introducing home alarm systems—not quite as simple as they seem. A solid, robust system can only be built by following the engineering process detailed in previous chapters, and this section reinforces that process.

You'll then take a step further in your Arduino engineering process: instrumentation and control, and some error messaging using GSM. Control is introduced via the Xbox controller, a very powerful piece of technology able to play a considerable role in robotics projects. Having already learned to control motion and to sense and avoid objects, you'll learn how to debug your Arduino projects of varying complexities via the hardware instrumentation software LabVIEW.

To complete the journey into Practical Arduino Engineering, you'll discover how to use a special Arduino board to rely on Bluetooth Mate Silver for control of domestic and mobile Arduino projects. Using Bluetooth Mate Silver, you'll learn to implement basic engineering design with almost any Arduino project, and be able to justify, build, debug, and extend Arduino-based designs using a solid engineering approach.

Table of Contents

  1. Title
  2. Dedication
  3. Contents at a Glance
  4. Contents
  5. About the Author
  6. About the Technical Reviewers
  7. Acknowledgments
  8. Preface
  9. CHAPTER 1: The Process of Arduino Engineering
    1. Gathering Your Hardware
    2. Gathering Your Tools
    3. Understanding the Engineering Process
    4. Summary
  10. CHAPTER 2: Understanding the Arduino Software
    1. Getting Started with setup() and loop()
    2. Initializing Variables
    3. Working with Loops
    4. Communicating Digitally
    5. Communicating with Analog Components
    6. Serial Communication
    7. Using Arduino Libraries
    8. Putting Together the Arduino Language Basics
    9. Summary
  11. CHAPTER 3: Robot Engineering Requirements: Controlling Motion
    1. Hardware Explained: The H-bridge
    2. Gathering the Hardware for this Chapter
    3. Understanding the Basics of Motor Control
    4. Summary
  12. CHAPTER 4: Adding Complexity to the Robot: Working with LCDs
    1. Configuring a Color LCD Shield
    2. Introducing the Monochrome and Color LCD Shields
    3. Working with the LiquidCrystal and ColorLCDShield (Epson or Phillips) Libraries
    4. Exploring the Basics of LCD Control
    5. Project 4-5: Creating the Customer's Robot
    6. Summary
  13. CHAPTER 5: Robot Integration Engineering a GPS Module with the Arduino
    1. Hardware Explained: microSD Shield
    2. Understanding NMEA Protocol
    3. Libraries Explained: TinyGPS and SdFat Libraries
    4. The Basics of GPS Communication with the Arduino
    5. Requirements Gathering and Creating the Requirements Document
    6. Summary
  14. CHAPTER 6: Interlude: Home Engineering from Requirements to Implementation
    1. Understanding the Voltage Divider
    2. Hardware Explained: Sensors
    3. Libraries Explained: Wire Library and DHT22 Library
    4. Understanding the Basics of Sensors
    5. Project 6-6: Wireless Temperature Monitor
    6. Requirements Gathering and Creating the Requirements Document
    7. Summary
  15. CHAPTER 7: Robot Perception: Object Detection with the Arduino
    1. Hardware Explained: Ultrasonic Sensor, Servo, and Buzzer
    2. Libraries Explained: The Servo Library
    3. Basics of the Ultrasonic Sensor and the Servo
    4. Requirements Gathering and Creating the Requirements Document
    5. Summary
  16. CHAPTER 8: Mature Arduino Engineering: Making an Alarm System Using the Arduino
    1. Hardware Explained: PIR
    2. Basic Security System
    3. Requirements Gathering and Creating the Requirements Document
    4. Summary
  17. CHAPTER 9: Error Messages and Commands: Using GSM Technology with Your Arduino
    1. Hardware Explained: Cellular Shield
    2. Understanding the AT Command Set
    3. The Basics of GSM Communication
    4. Requirements Gathering and Creating the Requirements Document
    5. Summary
  18. CHAPTER 10: Control and Instrumentation: The Xbox Controller and the LabVIEW Process
    1. Introduction to the LabVIEW Environment
    2. LabVIEW Functions Explained
    3. Gathering Requirements and Creating the Requirements Document
    4. Summary
  19. CHAPTER 11: Controlling Your Project: Bluetooth Arduino
    1. Gathering Requirements and Creating the Requirements Document
    2. Configuring the Hardware
    3. Writing the Software
    4. Uploading the Software and Attaching the Bluetooth Shield
    5. Operating the Robot
    6. Summary
  20. APPENDIX A: Hardware and Tools
  21. Index