Author: Michael Margolis
Reviewer: Harry Fairhead
Building a robot with the Arduino seems like a fairly obvious and exciting sort of project. Does a book add some inspiration?
The most important thing to know about this book is that it isn't a "make do and mend" sort of book. It expects you to go out and buy off-the-shelf modules and hook them up to create fairly simple robots. This is good in the sense that you don't get stuck into the real deals of say the electronics and this is also the reason it is bad.
After a brief look at the ideas of robot building in Chapter One we quickly move on to look at basic skills, which is mostly about how to solder and how to build a kit. The kit in question is a motor controller - useful but a slightly big project for the beginner learning to solder. The chapter finishes with an explanation of how to use stripboard.
Chapters 3 and 4 explain the workings of two robot kits, a two- and a four-wheeled robot. The chapters are essentially high quality "how to put together" instructions. The pictures and diagrams are exceptionally clear and should convince you that you can do the job before you go out and buy the kits.
Chapter 4 introduces the Arduino - what it is, how to install it and how to try out a simple LED blink sketch. This is certainly not an introduction to programming, or even to programming the Arduino. The next chapter take us into using the Arduino with the robot hardware built earlier in the book. Basically you get to load a sketch that tests out the motors. There is some discussion of the code, but not enough for a beginner.
From this point on the software is enhanced to do increasingly sophisticated things. Chapter 7 is on controlling speed and direction and you learn how a bridge circuit works and the use of pwm to set the speed. The idea of modular design is presented, along with some functions to perform basic tasks. Chapter 8 moves on to sensors - reflectance, sonar distance and sound sensors. Again the hardware is off-the-shelf modules and you aren't expected to do much more than connect things together.
Chapter 9 puts things together to make a robot that reacts to lines and edges - line following and confinement. Chapter 10 is about mounting and using an ultra-sound sensor to build a robot that can avoid objects. The final chapter is about adding an IR remote control.
This is a well written and well presented book - the diagrams are wonderful. However, it lacks inspiration. It is basically a manual that tells you how to put pre-built modules together. This is fine if you want to build robots with the minimum of electronics knowledge. For example, by the end of this book you will know how to control a motor using the Arduino, but only if there is an off-the-shelf motor controller module for it. This is indeed enough for many beginners, and it might even trigger a desire to know how the hardware works.
As far as the software goes the story is almost the same. The programs are presented as complete works with explanations of some of the details. If you don't program before you start reading the book isn't going to make much sense. You not only need to be able to program, you also need to know how to use the Processing language to make the Arduino control outputs and read inputs. There is no insight into how to go about building your own control code.
At the end of the day, however, the biggest criticism of the book is that it doesn't excite. You spend so many chapters putting together two- or four-wheeled robots without much idea of why you are doing it other than you can. The robots, at best follow a line or stay in a marked out area. This is not the sort of application that is exciting - where are the battle bots, the surveillance robots, the cat toy robots, the room mapping robots...
The book just doesn't have enough anarchy in it for many a creative engineer - but it is an excellent "this is how to put it all together book" and if this is what you are looking for then use it as a starting point, you will learn some basics.