I started working through Arduino Workshop by John Boxall over the holidays, and it’s a lot of fun so far. I highly recommend it if you’re thinking about getting into Arduino projects and you’re brand new to this stuff.
From the book description:
You’ll start off with an overview of the Arduino system but quickly move on to coverage of various electronic components and concepts. Hands-on projects throughout the book reinforce what you’ve learned and show you how to apply that knowledge. As your understanding grows, the projects increase in complexity and sophistication.
I’m a little under halfway through, but that sounds right so far. I’ve been able to do all the projects with the hardware that came with the official Arduino Starter Kit, with a small adjustment for one project.
That said, you start to need more components as you progress, and I think the later chapters will be more of a reference for me, because I don’t want to buy all the stuff to complete every project. I should mention that the book that comes with the starter kit is also a collection of learn-as-you-go projects. It’s nice that you can do all the projects with just the hardware that comes in the kit.
I mainly like the Workshop book for beginners, because Boxall provides explanations and practical advice for both the hardware and software sides of things. He explains why you do things for each project and provides examples of how you might use what you’ve learned for future projects or how you might expand on the ideas.
As a simple example, in one of the early projects you make use of a temperature sensor and then light LEDs accordingly (particularly relevant to me at the time because my heater was out), but Boxall points out that you can extend on this with something like a powerswitch tail to flip things on and off based on the input. Little examples like this are sprinkled throughout to keep you thinking about what you can do on your own.
I have bigger ideas for my Arduino and I tried to jump right into it, but I quickly realized I didn’t know what I was doing. Usually when this happens I shift into ad hoc learning mode. It’s faster.
I like this structured learning approach though. The tendency is to assume you’re wasting your time by learning the things that don’t apply directly to your project. That’s true in the short term but I’ve found it doesn’t hold up in the long term. Experience always seems to find a use later on.