1.1. A brief history of the Arduino
1.3. Setting up your working environment
1.4.1. Your first blinking LED
Chapter 2. Digital input and output
2.1.4. Connecting the hardware
2.4. Reactometer: Who really has the fastest reaction time?
Chapter 3. Simple projects: input and output
3.1.1. What’s the difference between analog and digital?
3.1.2. Reading a potentiometer
3.1.3. Connecting the hardware
3.2. A piezoelectric transducer
3.2.2. Connecting the hardware
3.2.3. Sketch to measure output from a piezoelectric transducer
3.2.5. Circuit with added speaker
3.2.6. Connecting the hardware
3.3. Making a pentatonic or five-tone keyboard
3.3.2. Connecting the hardware
4.1. Extending the Arduino with libraries
4.3.1. Test-driven development with ArduinoTestSuite
4.3.2. Storing values using EEPROM
4.3.3. Storing more data with SD
4.3.4. Get connected with Ethernet
4.3.5. Serial communication with Firmata
4.3.6. Displaying data using the LiquidCrystal library
4.3.7. Controlling a servo motor
4.3.8. Turning a stepper motor
4.3.9. Communicating with SPI peripherals
4.5. Expanding the Arduino with shields
5.1. Getting up to speed with DC motors
5.1.2. Sketch to turn a small DC motor on and off
5.2. Speed control and reverse
5.2.2. The H-bridge for motor control
5.2.3. The L293D dual H driver
5.2.4. Connecting the hardware
5.3. Stepper motors: one step at a time
5.3.2. Connecting the hardware
5.3.3. Stepper motor library functions
5.4. Try not to get in a flap with servomotors
5.4.1. Controlling a servomotor
5.4.2. Servomotor functions and methods
5.4.3. Sketch to control a servomotor
5.5. Mighty power comes in small packages with brushless DC motors
5.5.3. Sketch to control a brushless motor
5.5.4. Connecting the hardware
5.5.7. Sketch to reverse a brushless motor
6.1. Object detection with ultrasound
6.1.1. Choosing an ultrasonic sensor
6.1.3. Sketches for ultrasonic object finding
6.2. Infrared for range finding
6.2.1. Infrared and ultrasound together
6.2.2. The Sharp GP2D12 range finder
6.2.3. Nonlinear algorithm for calculating distance
6.2.4. Sketch for range finding
6.3. Passive infrared to detect movement
6.3.1. Using the Parallax PIR sensor
6.3.2. Sketch for infrared motion detection
7.2. Parallel character LCDs: the Hitachi HD44780
7.2.4. Connecting everything up in 4-bit mode
7.3. Serial LCD weather station
7.3.1. Serial vs. parallel LCDs
7.3.2. SerLCD library and functions
7.3.3. The Maxim IC DS18B20 temperature sensor
7.3.4. OneWire and DallasTemperature libraries
7.3.6. Connecting everything up
7.4. Graphic LCDs: the Samsung KS0108 GLCD
7.4.3. Connecting everything up
8.3. Tweet tweet: talking to Twitter
8.3.2. Libraries and functions
8.3.3. Circuit diagram and connecting the hardware
8.4.2. WiFi library and functions
8.4.3. Gestures: wireless accelerometers
8.4.4. Connecting the hardware
8.6. Serial peripheral interface (SPI)
8.6.2. SPI devices and digital potentiometers
8.8.1. Sign up for an account and get an API key
8.8.2. Creating a new data feed
9.2.3. Learning about the Xbox controller using the USB Host Shield
Chapter 10. Integrating the Arduino with iOS
10.1. Connecting your device to the Arduino
10.3. The Arduino gets involved
10.6. Moving data to the iOS device
11.2. Creating a turn-signal jacket
11.3. Creating a wearable piano
11.5. Creating a smart headphone
12.2. The Adafruit motor shield
12.2.2. Using the motor shield with a stepper motor
12.3. Creating your own shield
12.3.4. Connecting the SD card to the Arduino
Chapter 13. Software integration
13.2. Servos for face tracking
13.3. Using Firmata to create an equalizer
13.3.1. Using Firmata in your application
13.3.2. Audio analysis in Processing
13.4. Using Pure Data to create a synthesizer
13.5. Using Python to monitor temperatures
13.5.1. The Serial library in Python
Appendix A. Installing the Arduino IDE