Arduino Inventor’s Guide

Spread the love

First, a word about Arduino and why you should care. An Arduino is what is called a “prototyping micro-controller” aka “really fun electronic gizmo toy.”

Micro-controllers are everywhere. When you “turn on” a machine in your house, chances are there was already a micro-controller sitting there, running on a minute bit of juice from a built in battery, waiting for you to push a button. Then, you turned a dial or selected an option on your dishwasher, or changed the setting on your thermostat, or picked some alternative mode on your coffee pot, or shifted into a different gear using a “gear shift” in your fly-by-wire Prius, or you opened up the birthday card and cats meowed out “Happy Birthday.”

All of those events involved a micro-controller, which consists of thee parts. There is a brain inside it, there is a set of sensors or actuators (a thing that detects that the greeting card has been opened, and an actuator that is the thing that makes the meowing sound by playing an WAV or MP3 file), and some software. The software gets in there by hooking an in production version of the micro-controller, likely once in its life, to a regular computer via a COM port (the same kind of interface used by your mouse, or a USB connection, etc.), and stuffing the software in there.

The Arduino Uno is a micro-controller that is very generalized, very large (a bit larger than a credit card), has a well behaved power supply, lots of connectors for either sensor or actuators, and a pretty fancy brain for a micro-controller, with lots of room for code written in a very powerful and fairly easy to use language similar to objective C. You can hook the Arduino up to most computers, using freely available software to communicate with it and compile your code. For the most part, you don’t have to actually write code, it is provided by the developers of projects you are poaching, but if you want, you can go to town with it.

There are hundreds and hundreds of sensors and actuators, from thermostats to motors, gyroscopes to myriad things that light up, available for the Arduino, and in fact, anything that runs on low voltage can be hooked one way or another to it (if you know what you are doing). High voltage uses (like shifting a car or opening or closing a garage door) are done, of course, by using relays that are switches operated by a micro-controller but that pass any voltage level you want, if you get the right one.

The Arduino and its associated equipment can thus be used to replicate, design, and experiment with pretty much any thing a micro-controller can do. After “prototyping” it is trivial, for an expert, to rebuild the circuit using a less capable but perfectly adequate bunch of parts, and solder instead of just sticking things together (called “breadboarding”) and so on. But no one really does that with Arduino. With Arduino you may leave the final product at it is (like the robot we built a few weeks ago) or, as in the case of the projects in an introductory book on how to use and have fun with an Arduino, you may just take the thing you built apart and build another thing.

So, this new book, The Arduino Inventor’s Guide: Learn Electronics by Making 10 Awesome Projects, is sitting on my workbench ready to go to work.

Of all the intro Arduino books I’ve seen, this one is unique in a way I’ll explain below.

The book gives detailed, understandable, and learning-oriented instructions for a home stoplight (helpful with toddlers in the house), a reaction time garme, a balance beam game, a diminutive greenhouse, an small piano, and a handful of other projects.

The coolest project might be a living breathing Logo turtle. Logo is a computer programming environment developed years ago to serve several functions including helping kids get interesting in coding. Logo is actually one of the oldest computer languages still in use (dates to the late 60s) and it is a general programming language, but it is mainly adapted to running the Logo turtle. The turtle is a curser that is moved around on the screen, and instructed here and there to drop a specific pen (it can have several different pens) so as it moves along it draws.

This project, from The Arduino Inventor’s Guide: Learn Electronics by Making 10 Awesome Projects, is a physical turtle that draws on your rug! Or, hopefully, a big piece of drawing paper you put down for it.

I mentioned above that this book is unique. Here’s how. I’ve looked at a Lot of Audrino project books, and there are no introductory books that provide detailed information on how to make interesting project enclosures and cases. The projects in this book rely heavily on the stuff you built the electronic into. The project enclosures are generally made of simple corrugated cardboard that you can get from an old box, or, if you want, from a craft store (for more interesting colors, better quality materials, less cat hair, etc.)

You can build all the projects in this book with parts you have acquired in the usual manner, but the book suggests you get the Sparkfun Inventor’s Kit for Arduino, which is about 75 bucks. Note: This book is produced by No Starch Press and Spark Fun, so of course they suggest the Sparkfun Inventor’s Kit for Arduino as a way of getting all the parts. But, by the time you add up an Uno or equivalent micro controller for 19 bucks, LCD display for nine bucks, fancy breadboard holder for 9 bucks , a shift register for 8 bucks, and miscellaneous other parts, you might be over $75 anyway. Or maybe not. You’ll have to check around.

There is plenty of preliminary information to get a total novice started, and each project is rich in detail and very fully and expertly, clearly and helpfully, described.

This is an absolutely excellent choice, perhaps my favorite at the moment (and totally up to date) Arduino starter book.

Have you read the breakthrough novel of the year? When you are done with that, try:

In Search of Sungudogo by Greg Laden, now in Kindle or Paperback
*Please note:
Links to books and other items on this page and elsewhere on Greg Ladens' blog may send you to Amazon, where I am a registered affiliate. As an Amazon Associate I earn from qualifying purchases, which helps to fund this site.

Spread the love

5 thoughts on “Arduino Inventor’s Guide

  1. It is formally correct that arduino uses a “language similar to objective C”.

    It is, however, more correct to say that it uses C++, since that is the language actually used by the arduino ide.

    /erik

  2. This is so bizarre. I work in a company that helps innovators develop new products and my brother’s actually a coder. So I was pretty blown away to read this article – and if I’m right, which is by no means certain – it means that our everyday products are using a computer language.

    This has given me so many ideas. Thanks for a really interesting article.

    1. I assume that is generally true. There is a range of processors out there, micro-controllers, and I think they generally use some sort of code. Something like the Arduino probably has more room than the average microcontroller because it is a prototyping system.

  3. I’ve enjoyed PJRC’s “Teensy” series of microcontrollers. You can load an Arduino stack and program them as Arduinos, but you can also go bare-bones and just use C to do your own thing (in which case there’s somewhat more memory available plus access to more interfaces, at least on some models). It was also the Teensy that introduced me to easy to program (via USB interface) and easy to interface via USB human interface device (HID) functionality in a micro-controller. Things have come a long way since the Motorola MC68HC11 days.

    But, yeah, a DIY micro-controller book with a more holistic approach to a complete project is a change for the better.

  4. I’m not sure that an Arduino has more space than an ordinary micro-controller, since the Arduino designs all are based around standard Atmel micro-controllers. Those based on the ATmega8, for example, have about 8KB of Flash memory, of which the Arduino firmware takes up about 1KB, leaving 7KB for user programming. And RAM is limited to 1KB on those. I guess it comes down to what the class of ordinary micro-controllers is.

Leave a Reply

Your email address will not be published. Required fields are marked *