You are previewing Make: Action.
O'Reilly logo
Make: Action

Book Description

Beginning with the basics and moving gradually to greater challenges, this book takes you step-by-step through experiments and projects that show you how to make your Arduino or Raspberry Pi create and control movement, light, and sound. In other words: action!

The Arduino is a simple microcontroller with an easy-to-learn programming environment, while the Raspberry Pi is a tiny Linux-based computer. This book clearly explains the differences between the Arduino and Raspberry Pi, when to use them, and to which purposes each are best suited.

Table of Contents

  1. 1. Introduction
    1. Arduino and Pi
      1. Raspberry Pi
      2. Arduino
      3. Choosing a Device: Arduino or Pi?
      4. Alternatives
    2. Summary
  2. 2. Arduino
    1. What Is an Arduino?
    2. Installing the Arduino IDE
    3. Uploading a Sketch
    4. The Book Code
    5. Programming Guide
      1. Setup and Loop
      2. Variables
      3. Digital Outputs
      4. Digital Inputs
      5. Analog Inputs
      6. Analog Outputs
      7. If/Else
      8. Loops
      9. Functions 
    6. Summary
  3. 3. Raspberry Pi
    1. What Is a Raspberry Pi?
    2. Setting Up Your Raspberry Pi
      1. Preparing a MicroSD Card with NOOBS
      2. Setting Up SSH
      3. SSH on a Windows Computer
      4. SSH on Mac or Linux
    3. The Linux Command Line
    4. The Book Code
    5. Programming Guide
      1. Hello, World
      2. Tabs and Indents
      3. Variables
      4. if, while, etc.
      5. The RPi.GPIO Library
      6. The GPIO Header
      7. Digital Outputs
      8. Digital Inputs
      9. Analog Outputs
    6. Summary
  4. 4. Quickstart
    1. Solderless Breadboard
      1. How a Breadboard Works
      2. Connecting a Breadboard to the Arduino
      3. Connecting a Breadboard to the Raspberry Pi
    2. Downloading the Software
    3. Experiment: Controlling an LED
      1. Parts List
      2. Breadboard Layout
      3. Arduino Connections
      4. Arduino Software
      5. Arduino Experimentation
      6. Raspberry Pi Connections
      7. Raspberry Pi Software
      8. Raspberry Pi Experimentation
      9. Comparing the Code
    4. Experiment: Controlling a Motor
      1. Parts List
      2. Breadboard Layout
      3. Experimenting Without Arduino or Raspberry Pi
      4. Arduino Connections
      5. Arduino Experimentation
      6. Raspberry Pi Connections
      7. Raspberry Pi Experimentation
    5. Summary
  5. 5. Basic Electronics
    1. Current, Voltage, and Resistance
      1. Current
      2. Voltage
      3. Ground
      4. Resistance
    2. Power
    3. Common Components
      1. Resistors
      2. Transistors
      3. Diodes
      4. LEDs
      5. Capacitors
      6. Integrated Circuits
    4. The Ins and Outs of Connections
      1. Digital Outputs
      2. Digital Inputs
      3. Analog Inputs
      4. Analog Outputs
      5. Serial Communication
    5. Summary
  6. 6. LEDs
    1. Regular LEDs
    2. Current Limiting
    3. Project: Traffic Signal
      1. Parts List
      2. Design
      3. Arduino Connections
      4. Arduino Software
      5. Raspberry Pi Connections
      6. Raspberry Pi Software
    4. PWM and LEDs
    5. RGB LEDs
    6. Experiment: Mixing Colors
      1. Hardware
      2. Parts List
      3. Arduino Connections
      4. Arduino Software
      5. Arduino Experimentation
      6. Raspberry Pi Connections
      7. Raspberry Pi Software
      8. Raspberry Pi Experimentation
    7. Summary
  7. 7. Motors, Pumps, and Actuators
    1. Controlling Speed (PWM)
    2. Experiment: Controlling the Speed of a DC Motor
      1. Hardware
      2. Arduino Connections
      3. Arduino Software
      4. Arduino Experimentation
      5. Raspberry Pi Connections
      6. Raspberry Pi Software
      7. Raspberry Pi Experimentation
    3. Controlling DC Motors with a Relay
      1. Switching a Relay with Arduino or Raspberry Pi
      2. Relay Modules
    4. Experiment: Controlling a DC Motor with a Relay Module
      1. Parts List
      2. Wiring
      3. Arduino Software
      4. Raspberry Pi Software
    5. Choosing a Motor
      1. Torque
      2. RPM
      3. Gears
      4. Gearmotors
    6. Pumps
      1. Peristaltic Pumps
      2. Velocity Pumps
    7. Project: Arduino House Plant Waterer
      1. Design
      2. Parts List
      3. Construction
      4. Software
      5. Using the Project
    8. Linear Actuators
    9. Solenoids
    10. Summary
  8. 8. Advanced Motor Control
    1. H-Bridges
    2. H-Bridge on a Chip
    3. Experiment: Control the Direction and Speed of a Motor
      1. Parts List
      2. Design
      3. Breadboard Layout
      4. Experimenting
      5. Arduino Connections
      6. Arduino Software
      7. Arduino Experimentation
      8. Connecting the Raspberry Pi
      9. Raspberry Pi Software
      10. Raspberry Pi Experimentation
    4. Other H-Bridge ICs
      1. L298N
      2. TB6612FNG
    5. H-Bridge Modules
    6. Project: Arduino Beverage Can Crusher
      1. Parts List
      2. Wiring
      3. Mechanical Construction
      4. Arduino Software
    7. Summary 
  9. 9. Servomotors
    1. Servomotors
      1. Controlling a Servo
    2. Experiment: Control the Position of a Servomotor
      1. Hardware
      2. Parts List
      3. Connecting the Arduino
      4. Arduino Software
      5. Experimenting with Arduino
      6. Connecting the Raspberry Pi
      7. Raspberry Pi Software
      8. Experimenting with Raspberry Pi
    3. Project: Pepe, the Dancing Raspberry Pi Puppet
      1. Parts List
      2. Design
      3. Construction
      4. Software
      5. Using Pepe the Puppet
    4. Summary
  10. 10. Stepper Motors
    1. Stepper Motors
    2. Bipolar Stepper Motors
    3. Experiment: Controlling a Bipolar Stepper Motor
      1. Parts List
      2. Design
      3. Arduino
      4. Arduino Connections
      5. Arduino Software (the Hard Way)
      6. Arduino Software (the Easy Way)
      7. Arduino Experimentation
      8. Raspberry Pi
      9. Raspberry Pi Connections
      10. Raspberry Pi Software
      11. Raspberry Pi Experimentation
    4. Unipolar Stepper Motors
    5. Darlington Arrays
    6. Experiment: Controlling a Unipolar Stepper Motor
      1. Hardware
      2. Parts List
      3. Arduino Connections
      4. Raspberry Pi Connections
      5. Software
    7. Microstepping
    8. Experiment: Microstepping on Raspberry Pi
      1. Parts List
      2. Raspberry Pi Connections
      3. Software
      4. Experimenting
    9. Brushless DC Motors
    10. Summary
  11. 11. Heating and Cooling
    1. Resistive Heaters
    2. Experiment: Resistor Heating
      1. Parts List
        1. Construction
      2. Experimenting
    3. Project: Arduino Random Balloon Popper
      1. Parts List
      2. Hardware
      3. Software
      4. Using the Balloon Popper
    4. Heating Elements
    5. Power and Energy
    6. From Power to Temperature Increase
      1. Boiling Water
    7. Peltier Elements
      1. How Peltier Elements Work
      2. Practical Considerations
    8. Project: Beverage Cooler
      1. Parts List
      2. Construction
      3. Using the Project
    9. Summary
  12. 12. Control Loops
    1. The Simple Thermostat
    2. Experiment: How Good Is On/Off Thermostatic Control?
      1. Parts List
        1. Design
      2. Breadboard Layout
      3. Software
      4. Experimenting
    3. Hysteresis
    4. PID Control
      1. Proportional (P)
      2. Integral (I)
      3. Derivative (D)
      4. Tuning a PID Controller
    5. Experiment: PID Thermostatic Control
      1. Hardware
      2. Arduino Software
      3. Arduino Experimentation
      4. Connecting the Raspberry Pi
      5. Raspberry Pi Software
      6. Raspberry Pi Experimentation
    6. Project: A Thermostatic Beverage Cooler
      1. Hardware
      2. Parts List
      3. Design
      4. Construction
      5. Arduino Software
    7. Summary
  13. 13. Controlling AC
    1. AC Switching in Theory
      1. What Is Alternating Current?
      2. Relays
      3. Optoisolator
      4. Zero-Crossing Optoisolators and Triacs
    2. AC Switching in Practice
      1. Relay Modules
      2. Solid State Relays (SSRs)
      3. The PowerSwitch Tail
    3. Project: Raspberry Pi Timer Switch
      1. Parts List
      2. Construction
      3. Software
      4. Using the Project
    4. Summary
  14. 14. Displays
    1. LED Strips
    2. Experiment: Controlling an RGB LED Strip Display
      1. Parts List
      2. Arduino Connections
      3. Arduino Software
      4. Raspberry Pi Connections
      5. Raspberry Pi Software
    3. I2C OLED Displays
    4. Experiment: Using an I2C Display Module with Raspberry Pi
      1. Parts List
      2. Connections
      3. Software
      4. Experimentation
    5. Project: Adding a Display to the Beverage Cooler Project
      1. Parts List
      2. Connections
      3. Software
    6. Summary
  15. 15. Sound
    1. Experiment: Unamplified Speaker and Arduino
      1. Parts List
      2. Breadboard Layout
      3. Arduino Software
      4. Arduino Experimentation
    2. Amplifiers
    3. Experiment: Playing Sound Files on an Arduino
      1. Parts List
      2. Creating the Sound Data
      3. Arduino Code
      4. Arduino Experimentation
    4. Connecting an Arduino to an Amplifier
    5. Playing Sound Files on Raspberry Pi
    6. Project: Pepe the Puppet Gets a Voice
      1. Parts List
      2. Breadboard Layout
      3. Software
      4. Using the Talking Puppet
    7. Summary
  16. 16. The Internet of Things
    1. Raspberry Pi and Bottle
    2. Project: A Raspberry Pi Web Switch
      1. Hardware
      2. Software
      3. Using the Web Switch
    3. Arduino and Networks
    4. Project: Puppet Twitter Notifier
      1. Putting Pepe on the Internet
      2. IFTTT (If This Then That)
      3. Using the Project
    5. Summary
  17. A. Parts
    1. Suppliers
    2. Resistors and Capacitors
    3. Semiconductors
    4. Hardware
    5. Miscellaneous
    6. Pinouts
  18. B. Raspberry Pi GPIO Pinout
    1. Notes
  19. Index