Another book from Wiley, this time it’s Raspberry Pi Projects by Dr Andrew Robinson and Mike “Grumpy Mike” Cook, with chapters contributed by Jonathan Evans and Sean McManus.
To start the book off, there is a short introductory chapter including a quite charming “History of Making”. Then, the book starts in earnest with an introduction to the Pi and some advice on getting the machine up and running. This includes writing an image to an SD cards and also covers NOOBS. According to the book, however, “Although NOOBS can be simple, it doesn’t always work, and it can be slower.” I would say this is a little uncharitable as I’ve always found NOOBS very easy and reliable. It’s possible that the book was written when the first version of NOOBS came out, but in any case I found it a quite unhelpful comment. There follows an explanation of connecting the Pi up to all the peripherals you’ll need, including VGA screens.
Chapter 2 starts you off with writing your first Python program – an insult generator. It’s a fun project that introduces you to some basic concepts such as variables, string manipulations, conditional statements and loop repetition. It’s pretty much a whistle-stop tour and I’m not sure a beginner would get enough detail. It is, however, a good introduction to Python that would suit anyone with a little experience in writing programs, even if they were in Scratch.
The next 5 chapters are Python software projects: Tic-Tac-Toe; an auto-prompter script; a Ping game (which is really in depth and highlights the need for a little mathematical aptitude in programming); a Pac-Man clone game and a Maze Maker which uses Minecraft Pi edition. These are all great projects and come with complete listings to be typed in. There are also a large number of illustrations and photographs to help you along the way. These chapters are written by Mike Cook and Sean McManus (the Minecraft chapter) and I really must commend them for the comprehensive manner in which they approach the projects.
The majority of the book is taken up by hardware projects and here I found a bit of a problem with the book, which hopefully I’ll make clear. There is no learning curve with the hardware projects. Chapter 8 jumps straight in to a very complicated project. There is no prototyping stage, using a breadboard, and there is a preference for using surface mount components which doesn’t favour the beginner at all. The software projects in the chapters previous do an admirable job of steadily building upon concepts, but the hardware chapters are definitely not done in the same way, which is a shame. Chapter 8 also uses the PiFace add-on board. A requirement which is not mentioned in either the blurb on the back of the book or at any point during the introduction. Now, I’m not against the PiFace board, in fact I think it’s one of the most useful boards that has come out for the Pi. It’s not overly expensive and is very versatile. However, I would have expected a book called Raspberry Pi Projects to include hardware projects which you can do straight from the Pi without needing anything extra.
Chapter 9 also uses the PiFace. In fact, it introduces the PiFace and shows how to set it up. I can’t understand why, if there was to be a reliance on the PiFace, that this chapter didn’t appear before chapter 8. These two chapters are definitely out of sequence. Chapter 9 also briefly introduces the Git version control software, which was surprising to me, and I can’t understand why a normal download wasn’t used to get the software rather than introduce a piece of software specifically to do that job.
Chapter 10 requires you to purchase a piece of equipment that you can hack to create a talking toy. It’s a lovely little project, although there are perhaps plenty of other projects that you could do without buying extra stuff, and again uses the PiFace.
Chapter 11… uses the PiFace and this time you create some disco lights that take input from music to create patterns. Again, great project.
Chapter 12 again uses the PiFace, this time to create a door lock that is controlled by RFID tags. Another excellent project that teaches you about authentication and key-value pairs.
Chapter 13 is a home automation chapter and is written by Jonathan Evans. It deals with detecting a door switch, a motion sensor and a temperature gauge and then triggering email alerts based on criteria. It doesn’t use the PiFace and is much more manageable as a project. It also covers converting a webcam into a surveillance camera using the software package “motion” and controlling the Pi with an RF remote key fob.
Chapter 14 is all about hooking a ‘slot car set’ up to the Pi and creating your own joystick pad. Although this is a good project, there’s a curious lack of photographs of the slot car part of the project, leaving the reader possibly bemused as to what one actually is. The other thing I started to notice while reading this chapter is that the diagrams throughout the book vary and have clearly been done in different ways. It would have been better to establish a common standard for the diagrams to make it easier on the reader.
Chapter 15 uses the PiFace again and uses rotary shaft encoders to create a roto-sketch (kind of like an etch-a-sketch). This is a great project as a) it doesn’t involve too much extra hardware purchasing and b) marries up a complex hardware project with a complex, but easy to understand software project. The chapter also goes into hooking it up with the Facebook API to upload the images you create.
Chapter 16 introduces the Arduino and programming it in conjunction with Python on the Pi to create a Harmonograph. This is a really complicated project but is impressively documented and explained by Mike Cook.
Chapter 17 uses the PiFace to build a bird box wildlife monitor by using an IR LED-emitter in conjunction with a phototransistor to detect when birds enter or leave the bird box. It also deals with logging the information that has been detected and then creating a graph out of it.
As you may have worked out, fully 9 out of 10 of the hardware projects require a PiFace. I’m trying very hard not to be too critical about the reliance on the PiFace as it’s a top bit of kit. What I do have to be critical about, however, is the lack of mention of the PiFace in either the book blurb or the introduction to the book. It’s an editing and blurb-writing issue, rather than a problem with the content of the book. I’ll say no more on that.
The explanations and documentation of the projects is first class and you really do feel in the lap of the experts with the authors here.
So, for a rating of this book, I’m really torn. On the one hand the projects are excellent, on the other hand there is very little about prototyping circuits and trying the projects out in a temporary form before moving onto soldering up the finished project. There’s also the reliance on the PiFace. I understand that one of the authors invented the PiFace, and I understand that it’s a great piece of kit that is both easy-to-use and cost-effective, but the Pi is capable of so much without it. Argh. I would say it’s well worth getting, but if you are dead set against buying the PiFace then this book is not for you.
It’s got to be 7/10 for the sheer quality of the writing.