Author: Michael McRoberts
Publisher: Apress, 2011
Aimed at: Arduino beginners
Pros: Fifty practical projects
Cons: Ideas introduced without enough background
Reviewed by: Harry Fairhead
A beginners guide to the Arduino - but what sort of beginners? Beginning programmers? Beginning hardware experts? Beginning electronics experts? All three?
The book starts off with a basic guide to the Arduino, how to buy one and how to install the software. By the end of Chapter 1 you have everything set up and have run a demo script but you haven't created a program of your own. This has to wait till Chapter 2 where Project 1 is an LED flasher. You get a list of parts - a breadboard, LED, resistor and some wires. From here you are told how to wire up the LED and what code to type in. You only get an explanation of what you are doing after the project has been completed. Both the program and the hardware are taken apart line by line and component by component. How you react to the explanations in this first project probably determines how you get on with the rest of the book.
The program is taken apart line by line but there is no attempt to lay foundations - words like function are used without much introduction. If you read the text you will find that variable and functions are explained in general terms but it would be better to have a clearly marked out section saying what you need to know before trying to understand the program. The idea of the processing loop is introduced by saying that it runs continuously - fine if you have an idea of what a loop is but if not you might be puzzled. Again the idea is explained but you might miss it if you don't read every word.
The hardware is explained in details, but as with the software you might struggle if you really have no idea how electricity works. We are told what an Ohm is and how to work out the current limiting resistor for the LED using a formula. Then we have an explanation of resistor color coding. As long as you do know something of how electricity and perhaps electronics works you will be fine.
From this point the book continues in the same general way with project after project - at least three per chapter and 50 in total. Chapters 2 and 3 are all about using LEDs in different ways including traffic lights, chase effects and so on. Again we have the problem that some sophisticated ideas are introduced along the way. For example, the idea of an array is introduced as part of the chase effect in a few lines. There is also a small problem with the way programs are broken down into functions without much explanation of exactly why - it might be going to far to consider modular structured programming but a few words in its direction would have helped. .
Chapter 4 moves on to making sounds, then Chapter 5 deals with motors, 6 binary counters, 7 LED displays, 8 LCD displays and so on. You can tell that the level is ramping up fairly quickly - but to be honest I can't see an alternative way of doing the job.
Chapter 9 is where it gets really interesting with a look at how to use servos. Suddenly you can make things move accurately. Chapter 10 extends this to stepper motors. This uses both a stepper motor IC controller and a motor shield. By the end of the chapter we have built a line following robot.
Subsequent chapters extend the range of sensors and transducers you use to more exotic items. Chapter 11 is on pressure sensors, 12 is on touch sensors, 13 temperature sensors and 14 ultrasonic rangefinders.
Chapter 15 changes the subject to look at how to read and write an SD card - for me this chapter was worth the cost of the book. Next we have making an RFID reader using an ID-12 RFID reader IC and finally communicating over Ethernet using an Ethernet shield.
There are full color pictures at the end of the book showing how things should be wired up and this wold probably help a beginner. The code is also available on line and again this would help a beginner. However I don't think that the book is for the complete beginner - it is just too ambitious. If you have mentor to hand who can help you out if you get stuck then it would be fine. As long as you have a basic grasp of electronics and programming then this is a very good book. As a resource book of Arduino projects its great.
Highly recommended as long as you are prepared to put some work in to make up for anything you don't understand.