Author: Michael Margolis
Publisher: O'Reilly, 2011
Aimed at: D-I-Y hardware enthusiasts
Pros: Wide range of projects
Cons: Mostly module-based construction
Reviewed by: Harry Fairhead
The Arduino can be the core of a complicated overall system of parts. Why invent the wheel each time you need to create a subsystem that does a particular task. This is where a cookbook might help.
This is a very nice cookbook for both the hardware and the software it contributes via the recipes. It starts off with a brief introduction to the Arduino and to the programming language. Many of the recipes in the first three chapters are very simple and unless you are a complete beginner you can probably skip them. Chapter 4 deals with using the serial connection and covers sending and working with data on the PC.
Chapter 5 is where the real hardware side starts to take the upper hand with a look at simple digital and analog switching - debouncing, timing a switch and so on. Chapter 6 is about using sensors including vibration, sound temperature, RFID tags and so on. Some of the sensors are more unusual - a PC mouse, GPS, Gyroscope, acceleration, game pad and so on. Chapter 7 is a fairly standard survey of output devices ranging from arrays of LEDs to 7 segment display and even an analog panel meter. To find out about using full LCD displays and bigger, such as using a TV set, you have to wait for Chapter 11.
Chapter 8 deals with "physical output" and mainly covers motors and servos. The motor control is mostly using off the shelf bridge controller. Chapter 9 is about audio output and explains how to synthesise tone and how to work with WAV files and MIDI devices. Chapter 10 is on infra red remote controls including learning command sequences and making a programmable remote to control a digital camera. Chapter 12 jumps back to a mostly software subject - using time and dates.
Chapters 13, 14 and 15 are all about communications. I2C and SPI for interchip communication. Wireless communication using a ZigBee and LAN communication using an Ethernet shield. Much of the chapter on using the LAN is about implementing standard protocols such as DCHP and DNS but later you get to create a web server on the Arduino and send Twitter messages.
Chapters 16 and 17 are about advanced software - using modifying and creating libraries and dealing with memory and the build process. The final chapter looks at advanced hardware - mainly working with the micro-controller registers directly.
This covers such a wide range of topics that it has to have something for everyone. It doesn't often get down to the component level. Connecting up LEDs and calculating current limiting resistors is about as far as it goes with the occasional single transistor thrown in for good luck. But working with prebuilt modules is how most of electronics is these days and it isn't a bad way to build systems based on the Arduino quickly and cheaply. If nothing else the cookbook provides an excellent list of modules that you can use to get a job done.