Cover image for Getting Started with Arduino

Book description

This valuable little book offers a thorough introduction to the open-source electronics prototyping platform that's taking the design and hobbyist world by storm. Getting Started with Arduino gives you lots of ideas for Arduino projects and helps you get going on them right away. From getting organized to putting the final touches on your prototype, all the information you need is right in the book. Inside, you'll learn about:

  • Interaction design and physical computing

  • The Arduino hardware and software development environment

  • Basics of electricity and electronics

  • Prototyping on a solderless breadboard

  • Drawing a schematic diagram

And more. With inexpensive hardware and open-source software components that you can download free, getting started with Arduino is a snap. To use the introductory examples in this book, all you need is a USB Arduino, USB A-B cable, and an LED.

Join the tens of thousands of hobbyists who have discovered this incredible (and educational) platform. Written by the co-founder of the Arduino project, with illustrations by Elisa Canducci, Getting Started with Arduino gets you in on the fun! This 128-page book is a greatly expanded follow-up to the author's original short PDF that's available on the Arduino website.

Table of Contents

  1. Special Upgrade Offer
  2. Preface
    1. Acknowledgments
    2. How to Contact Us
  3. 1. Introduction
    1. Intended Audience
      1. Interaction Design is the design of any interactive experience.
    2. What Is Physical Computing?
  4. 2. The Arduino Way
    1. Prototyping
    2. Tinkering
    3. Patching
    4. Circuit Bending
    5. Keyboard Hacks
    6. We Love Junk!
    7. Hacking Toys
    8. Collaboration
  5. 3. The Arduino Platform
    1. The Arduino Hardware
      1. 14 Digital IO pins (pins 0–13)
      2. 6 Analogue In pins (pins 0–5)
      3. 6 Analogue Out pins (pins 3, 5, 6, 9, 10, and 11)
    2. The Software (IDE)
    3. Installing Arduino on Your Computer
    4. Installing Drivers: Macintosh
    5. Installing Drivers: Windows
    6. Port Identification: Macintosh
    7. Port Identification: Windows
  6. 4. Really Getting Started with Arduino
    1. Anatomy of an Interactive Device
    2. Sensors and Actuators
    3. Blinking an LED
    4. Pass Me the Parmesan
    5. Arduino Is Not for Quitters
    6. Real Tinkerers Write Comments
    7. The Code, Step by Step
    8. What We Will Be Building
    9. What Is Electricity?
    10. Using a Pushbutton to Control the LED
    11. How Does This Work?
    12. One Circuit, A Thousand Behaviours
  7. 5. Advanced Input and Output
    1. Trying Out Other On/Off Sensors
      1. Switches
      2. Thermostats
      3. Magnetic switches (also known as “reed relays”)
      4. Carpet switches
      5. Tilt switches
    2. Controlling Light with PWM
    3. Use a Light Sensor Instead of the Pushbutton
    4. Analogue Input
    5. Try Other Analogue Sensors
    6. Serial Communication
    7. Driving Bigger Loads (Motors, Lamps, and the Like)
    8. Complex Sensors
  8. 6. Talking to the Cloud
    1. Digital Output
      1. Digital Output
      2. Analog Output
      3. Digital Input
      4. Analog Input
      5. Serial Communication
    2. Planning
    3. Coding
    4. Assembling the Circuit
    5. Here’s How to Assemble It:
  9. 7. Troubleshooting
    1. Understanding
      1. Understanding
      2. Simplification and segmentation
      3. Exclusion and certainty
    2. Testing the Board
    3. Testing Your Breadboarded Circuit
    4. Isolating Problems
    5. Problems with the IDE
    6. How to Get Help Online
  10. A. The Breadboard
  11. B. Reading Resistors and Capacitors
  12. C. Arduino Quick Reference
    1. STRUCTURE
    2. SPECIAL SYMBOLS
      1. ; (semicolon)
      2. {} (curly braces)
      3. comments
    3. CONSTANTS
    4. VARIABLES
      1. boolean
      2. char
      3. byte
      4. int
      5. unsigned int
      6. long
      7. unsigned long
      8. float
      9. double
      10. string
      11. array
    5. CONTROL STRUCTURES
      1. if … else
      2. for
      3. switch case
      4. while
      5. do … while
      6. break
      7. continue
      8. return
    6. ARITHMETIC AND FORMULAS
    7. COMPARISON OPERATORS
    8. BOOLEAN OPERATORS
    9. COMPOUND OPERATORS
      1. increment and decrement (–– and ++)
      2. += , –=, *= and /=
    10. INPUT AND OUTPUT FUNCTIONS
      1. pinMode(pin, mode)
      2. digitalWrite(pin, value)
      3. int digitalRead(pin)
      4. int analogRead(pin)
      5. analogWrite(pin, value)
      6. shiftOut(dataPin, clockPin, bitOrder, value)
      7. unsigned long pulseIn(pin, value)
    11. TIME FUNCTIONS
      1. unsigned long millis()
      2. delay(ms)
      3. delayMicroseconds(us)
    12. MATH FUNCTIONS
      1. min(x, y)
      2. max(x, y)
      3. abs(x)
      4. constrain(x, a, b)
      5. map(value, fromLow, fromHigh, toLow, toHigh)
      6. double pow(base, exponent)
      7. double sqrt(x)
      8. double sin(rad)
      9. double cos(rad)
      10. double tan(rad)
    13. RANDOM NUMBER FUNCTIONS
      1. randomSeed(seed)
      2. long random(max) long random(min, max)
    14. SERIAL COMMUNICATION
      1. Serial.begin(speed)
      2. Serial.print(data) Serial.print(data, encoding)
      3. Serial.println(data) Serial.println(data, encoding)
      4. int Serial.available()
      5. int Serial.read()
      6. Serial.flush()
  13. D. Reading Schematic Diagrams
  14. Index
  15. About the Author
  16. Special Upgrade Offer
  17. Copyright