The Arduino microcontroller and programming environment let you create, program, and control a variety of devices that interact with the physical world.
Some of the things you can do with Arduino are very simple, such as adjusting the color of an RGB (red, green, blue) LED under program control. Other projects are more complex, such as creating a system that will notify you by email when a package has been left at your front door or controlling a small robotic arm.
According to the Arduino website: “Arduino is an open-source electronics prototyping platform based on flexible, easy-to-use hardware and software. It’s intended for artists, designers, hobbyists, and anyone interested in creating interactive objects or environments.”
Four new Arduino-related books recently have been released by O’Reilly and Pragmatic Bookshelf. They are: Arduino Cookbook, 2nd Edition; Programming Your Home; Programming Interactivity, 2nd Edition; and Making Things See.
Arduino Cookbook, 2nd Edition
By Michael Margolis
(O’Reilly, paperback, list price $44.99; Kindle edition, list price $35.99)
If you’ve been curious about Arduino, this book is a fine place to start and learn a lot about what you can do with the popular little microprocessor hardware and its software. And don’t be intimidated by the book’s hefty size: 699 pages. It is packed with how-to projects, and you won’t need experience with electronics or programming to get started.
Michael Margolis has updated his Cookbook to cover Arduino 1.0. A variety of “official boards” can be found via the Web, according to Margolis, but the “basic board that most people start with [is] the Arduino Uno.” Radio Shack and other outlets sell it. The Uno has a USB connector “that is used to provide power and connectivity for uploading your software onto the board.”
Speaking of software, you will want to install Arduino’s Integrated Development Environment (IDE) on your computer. The software, available for Windows, Mac, and Linux, can be downloaded here. Margolis explains how to set up each version and also how to set up the Arduino board (and some new boards such as Leonardo).
In the Arduino world, a piece of source code is known as a “sketch.” Virtually every how-to-program book for computers starts out with a simple “Hello World” example. And the Ardunio Cookbook is no exception. It shows how to load a very simple program into the board and make an LED blink on and off. From there, the projects become increasingly more robust, until you are generating audio tones, controlling motors and servos, reading temperatures with digital thermometers, and even using Arduino to send messages to Twitter.
This well-written and well-illustrated book nicely lives up to its tagline: “Recipes to Begin, Expand, and Enhance Your Projects.”
The three other Arduino-related books focus on more specific applications of the microprocessor and its software.
Programming Your Home: Automate with Arduino, Android, and Your Computer
By Mike Riley, edited by Jacquelyn Carter
(Pragmatic Bookshelf, paperback, list price $33.00)
For those who have some basic experience with Arduino, Programming Your Home offers several fun and useful home automation projects, such as an electronic guard dog, a Web-enabled light switch, a door lock you can open or latch from an Android phone, and a package-delivery alert tool that can send you an email.
Programming Your Home is well written and shows, step-by-step, how to wire up the external components to the Arduino board, program the applications, test them and use them. A second goal is to give you the skills and confidence necessary to create “custom home automation projects of your own design.”
The author states: “Programming Your Home is best suited to DIYers, programmers, and tinkerers who enjoy spending their leisure time building high-tech solutions to further automate their lives and impress their friends and family with their creations.”
He adds: “The projects also make great parent-child learning activities, as the finished products instill a great sense of accomplishment.”
One family-oriented example is an Arduino-controlled bird feeder that time-stamps bird visits and their durations and stores the data. It also sends out Twitter tweets that alert nearby bird watchers and signal the need for more bird food.
The most complex project in his book is also one of the coolest: a smartphone app that lets you call home and unlock or lock a door remotely. It uses a first-generation Android phone, a Sparkfun IOIO board and a few other components. This project does not use the Arduino board, but the programming and hardware experience gained from working with the Arduino comes in handy.
Programming Interactivity, 2nd Edition
By Joshua Noble
(O’Reilly, paperback, list price $49.99; Kindle edition, list price $39.99 )
“This book,” says Joshua Noble, “is called Programming Activity because it’s focused primarily on programming for interaction design, that is, programming to create an application with which users interact directly.”
His 704-page how-to guide is aimed at readers who “don’t have a deep, or even any, programming or technical background [but] you’re a designer, artist, or other creative thinker interested in learning about code to create interactive applications in some way or shape.”
The tagline for this updated edition is: “A Designer’s Guide to Processing, Arduino, and openFrameworks.” Those are the three key areas covered in the book.
“Processing,” Noble points out, “was the one of the first open source projects that was specifically designed for simplifying the practice of creating interactive graphical applications so that nonprogrammers could easily create artworks. Artists and designers developed Processing as an alternative to similar proprietary tools.”
As for Arduino, Noble focuses first on programming using the Arduino IDE. Then he introduces wiring parts and devices to the board and making them work. Soon, he jumps into object-oriented programming using C++, and then he moves to openFrameworks (oF), “which is a collection of code created to help you do something in particular.”
He adds: “Specifically, oF is a framework for artists and designers working with interactive design and media art.”
From there, his book moves into physical input, programming graphics, bitmaps and pixels, sound and audio, Arduino and creating physical feedback (such as turning on motors, servos or household appliances), protocols and communication, graphics and OpenGL, motion and gestures, movement and location, spaces and environments, and further resources.
Noble covers a lot of ground, using a mixture of text, illustration and code examples. And he offers plenty of links and additional topics. Unlike many how-to guides, he includes “interviews with programmers, artists, designers, and authors who work with the tools covered in this book.”
Making Things See: 3D Vision with Kinect, Processing, Arduino, and MakerBot
By Greg Borenstein
(O’Reilly, paperback, list price $39.99; Kindle edition, list price $31.99)
Arduino becomes a key factor beginning on page 353 of this fascinating and challenging 416-page book aimed at gamers, artists, technology hobbyists and others.
The microprocessor becomes the brain of a small, easy-to-build robotic arm that can, within limits, “reproduce the motions of a real arm.”
Much of this book focuses on the Microsoft Kinect, a popular peripheral for Microsoft’s XBox 360 video game system, which the author of Making Things See terms a “depth camera.” A Kinect contains an infrared projector and infrared camera, an RGB camera, and some microphones. “The Kinect…records the distance of the objects that are placed in front of it…[and]…uses infrared light to create an image (a depth image) that captures not what the objects look like, but where they are in space….[A] depth image is much easier for a computer to ‘understand’ than a conventional color image,” Borenstein writes.
There is focus, as well, on Processing and on 3-D printing using a MakerBot ReplicatorG or the Shapeways online service.
The book offers several projects, and, in the final one, Kinect and Arduino are linked together and the Arduino is programmed to control a basic robotic arm that responds to forward or inverse kinematics. Using two servos, the arm can move up and down at “elbow” and “shoulder” and follow the movements of a particular point.
“Our bodies respond to physical objects differently than graphics on a screen,” Borenstein states, “and there’s something powerful about closing that loop by making interactive objects that can see us move around the room and respond by moving in kind.”
He adds: “Rather than just waving at computers, now we’ve taught them to wave back.”
– Si Dunn is a novelist, screenwriter, freelance book reviewer, and former software technical writer and software/hardware QA test specialist. He also is a former newspaper and magazine photojournalist. His latest book is Dark Signals, a Vietnam War memoir. He is the author of an e-book detective novel, Erwin’s Law, now also available in paperback, plus a novella, Jump, and several other books and short stories.