Tag Archives: Arduino

Arduino for Arduinians: New and higher level than the rest

Let’s be real. Most books (and web sites) providing instructions for building projects with an Adruino assume the reader is just starting out in this arena of Maker-World. That is probably a reasonable assumption, but it also means that those of us who seek an Arduino guide that provides more advanced work are out of luck. Arduino for Arduinians fills that void. I highly recommend this rich, detailed, and extensive treatment of Arduino makery.

Arduino for Arduinians is suitably named, as it provides guidance and a beyond-the-basics level, for folks who have already been bitten by the Arduino bug, and can already tell the difference between a CAN Bus and an RS232, or Charlieplexing and ATtiny microcontrollers. In fact, one of my favorite applications laid out in this book is using the CAN bus interface to diagnose why the dashboard “transmission fault” light won’t go off on my friend’s Land Rover.

Arduino for Arduinians covers I2C bus devices, interfacing with or emulating the action of keyboards and similar devicese, some inexpensive but advanced Bluetooth mojo, and working with higher than novice-level voltages and currents. Be careful though.

You should know the basics of how Arduinos work (I recommend Arduino Workshop to get that if you don’t have it already). You should be able to read standard circuit diagrams. You should be familiar with Sketch and the Arduino IDE. Also, you will need parts. Helpfully, Arduino for Arduinians has a web site (see the inside of the book) with the Sketch related software, and yu can find in the intro a suggestion as to where to get parts (but you can get these parts lots of places, including Amazon.

The Author, John Boxall,is a master projecteer, and author of several Maker-supportive books in multiple languages.

An Excellent Robot Kit: Tenergy Odev Tomo 2-in-1

Tenergy is a company that you know well even if you don’t know them. They make a lot of the replacement batteries for everything, external power supplies, other electronic items. But recently they’ve added a few items to their line of products that reach out in an entirely different direction.

Tenergy Odev Tomo 2-in-1 Transformable DIY STEM Education Programmable Robot Kit is a robot kit that can be configured as a tricycle with two large wheels, or as a two-wheeled “bicycle” which operates like a Segway. Which is pretty amazing.

So far Tomo is my favorite out of the box Robot Build, and I highly recommend it. It is also very reasonably priced (see note on that below).

Tomo the robot has the usual sensors that come with such a device, including a line tracker and a distance sensor that resembles a pair of eyes. The yellow color of the framework and the overall configuration give Tomo a sort of Wall-E look, which is cute.

Assembly: Instructions are clear. Assembly involves the use of several different size bolts and nuts to piece together the various framework parts into the appropriate configuration, which differs depending on if you want the trike or bike. The parts are high quality ad perfectly machined. If you find yourself wondering why something does not make sense, that’s you, not the robot. Check to make sure you used the right size bolts and re-read the instructions. The number of steps required to put the machine together is, in my experience with several similar devices, on the low side, so assembly will be quicker than you might expect. The kit comes with two tools which are of high quality, not the cheap knockoff screwdriver that you can’t really use. (The screwdriver is actually very nice.) Note that the bolts use two different screwdriver bits, and the shaft of the screwdriver is reversible. When we did the initial assembly, Huxley, 7, did most of the work with me guiding and holding some parts while he used the bolts.

Tomo under construction
Hint: There are two steps to get the big wheels to stay on. Consider super-tightening the first step or they’ll eventually (like, in a few minutes) fall off. I’m considering scoring the motor shaft with my Dremel to help the screw bite better. This is not a problem with Tomo, this is a problem with all wheels on all shafts on all robots.

Hint: The line tracing sensor has an adjustable height. This is an excellent feature. Go ahead and play with it to get it just right, which is probably lower than you are initially comfortable with. I find that this line tracing sensor on this machine works far better than others I’ve tested, but I’m not sure if that is the adjust-ability, the sensor itself, or the software. All are likely important factors.

Operation: Operation is right out of the box excellent, using an app that runs on Android or Apple. I did not test the apple version. The app that controls the robot is easily deployed and well designed.

Programming: This may be the best feature of Tomo. The programming app is designed for Android or Apple devices and works great. The programability is flexible and powerful, and the Scratch-like programming interface is top quality. Every now and then the unexpected happens, but I think that has to do with Bluetooth connectivity issues. Hint: When programming keep the Android/Apple device and the robot right near each other. This may be just Huxley, but the programmable sounds and lights are of greater interest than the movement of the robot, ad least for the first hour or so!

Guts: The processor board is based on Audrino architecture. I’ve not hacked it but it should be totally hackable. The processor is hooked to the other bits with Rj11 male-to-male cables. Our cat ate one of them and we were able to easily find replacements.

NOTE ON PRICE: At this time, the Tenergy Odev Tomo 2-in-1 Transformable DIY STEM Education Programmable Robot Kit is about $30 cheaper than any similar robot, but also comes with a number of other deals including 10% off a second robot, and discounts on various other products (see the link, click on the “buy one get a discount…” link.

Arduino Inventor’s Guide

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.

How to make your own robot

Want to make your own robot? You can do this the easy way, or you can do this the hard way. Or, both, if you like.

The basic home made robot is a robot because it moves around, and the way that is usually achieved is with two independently powered wheels, a third wheel (or something) to balance the thing, an energy source, some logic circuitry, some sensors, and some sort of remote control.

You can learn how all these technologies work, buy the various parts, put them together, program it, and have your own robot.

Or, you can just get one of these guys, and you’re nearly done.

The robot comes with a simple remote, but you can install apps on smart phones that allow you to control the robot.  The smart phone app offers a few features that the included remote leaves out, such as a super turbo mode, and the ability to control the robot by shaking your phone.
The robot comes with a simple remote, but you can install apps on smart phones that allow you to control the robot. The smart phone app offers a few features that the included remote leaves out, such as a super turbo mode, and the ability to control the robot by shaking your phone.
The Makeblock DIY mBot V1.1 Robot Kit is just under a hundred bucks, and is a fairly high functioning robot. You have to build it after you get it, but that takes something like 10 minutes. My brother Joe kindly sent one to Huxley, and Amanda and Huxley built it together in short order while I waited and watched, ready to jump in if needed. I was not needed. (Amanda is a scientist and Huxley is a gear head, so of course this was easy for them.)

One of the important features of the Makeblock Robot is that some of the key assembly needed to make a robot of this kind is either obviated by design (I’ll ‘splain in a minute) or made very easy with the use of handy dandy cables.

Normally, to make a robot like this, you’d start with a controller board such as the Arduino Uno . These boards have little thingies to which you attach wires, but they are lined up and organized in such a way that you can also attach a “shield” which consists of pre-fab circuitry to do a specific thing. One kind of shield is a motor control shield. Others facilitate infrared communication, or blue-ray communication.

The core of the the Makeblock Robot is Arduino circuitry already married to, and on the same board as, a motor control and an IR communication circuit. To this are added (by you) a couple of sensor boards and a blue-tooth board. The sensor and blue tooth boards are separate because you may want to swap out the sensors or comm devices that come with the robot, later, when you figure out how it all works and want to do more.

The motor control parts of the board attach to the motors with simple cables. All of it screws together to a chassis, which holds the controller, the brain, some of the sensors, and the wheels.

There is also programming built into the device, so it can do stuff right out of the box.

The robot comes with a small remote, which can be used to send motion commands, and some other fun commands, to the robot via an IR system (just like a TV remote). (If you build one, point your other remotes at the robot and see if you can get a rise out of it by trying different buttons!)

A second mode is “object avoidance mode.” This can be initiated with an on board button, or via the remote. The robot has a sensor on the front that sends out an ultrasonic signal, and then receives it, using time to estimate, bat-like, how far the nearest object in front of it is.

As the robot approaches an object, it stops, and changes course.

This sensor system does not detect when the robot is at the top of the stairs. Repeat. This sensor system does not detect when the robot is at the top of the stairs.

A third mode is “line follow mode.” This involves a pair of sensors at the front of the robot, facing downwards. These detect certain color contrasts, and in so doing, can determine if the robot is over a line, and if so, using some fairly simple (built in) programming, the robot follows the line. The kit comes with a big piece of paper with a black figure eight on it.

You can try to make your own lines, but you will find that your human senses are not the same as the robot senses, so what you think is a contrasting line may not be what the robot thinks is a contrasting line. So, experiment.

And, if you don’t find the line following to be good enough as it is, buy a more sensitive sensor, and program the robot to follow lines using programming mode.

Or buy two robots, attach a ballon to each, on the other end, a balloon popper, and have robot wars in your house. Like this:

Or set the robot up to count time (an hour or two) and then drive around the house holding a giant feather for a while. The cat will like that. I’m pretty sure you can also get an IR sensor more sensitive than the one on board, or a motion sensor, so the robot can actually go and find the cat using body heat or motion. And so on and so forth.

This robot is sturdy, and if a part does break, you can get a replacement part inexpensively. The chassis is designed to attach all sorts of things to it. You can find parts that will interact with this system from the huge panoply of Arduino OpenSource hardware bits and pieces, or you can get add on kits designed to work with the Makebot Robot, including the Makeblock Me LED Matrix 8×16 for mBot robot kit, the Makeblock mBot Bracket Pack Aluminum Robot parts, or the Makeblock Robotic Arm Add-on Pack

The mechanics of connecting together parts are said to interface or interact with Lego Technic.

Since this is an Arduino based device, the programming can be done in the native Arduino Language (called Sketch, a form of C). But MakeBlock provides MBlock, which is a form of Scratch. (I have two reviews of Scratch books here.) This form of scratch lets you use scratch like programming blocks, and the drag and drop elements, etc. but then translates the scratch program in to sketch. You can use this system in a cloud based form on any platform, and the offline editor currently works only in Windows and on a Mac. (It is possible to run it on Linux, according to what I’ve read, but I’ve not tried it yet.)

You don’t have to know programming to build this robot and have fun with it, but a little bit of programming is easy to do, and this is perhaps one of the best ways for a kid to learn some hardware and some software skills.

Arduino Project Handbook

Huxley and I like to make Arduino projects. If you know what that means, your geek cred is good. If not, I’ll explain briefly.

Arduino is an Italian based project that produces circuit boards that are controllers.

A controller is a small highly specialized computer thingie that can be programmed to have various inputs and outputs. You can connect devices (sensors) to the inputs and other devices (actuators of some kind, or lights or whatever) to the outputs. The programming can be fairly sophisticated. If you hook up enough of the right stuff to an Arduino board (of which there are several models, the most common being theUNO) you can have a robot, a fancy wether station, an alarm clock, or a small device that randomly turns a light on and off.

So far we’ve done very well with turning lights on and off, measuring basic environmental conditions, and so on. Lately, we’ve had to put the Arduino project matériel away because we are about to move and had to pack some stuff up. But we have plans. Big plans.

Our first project after the move may be a lightning detector. Not so much to tell if lightning has gone off. That’s kind of obvious. Big flash of light, bang, etc. Rather, we’ll be counting the frequency of lightning events in storms that pass by. Why? No reason.

We will also be building other weather related sensors and displays. And, we intend to replace the really annoying Trouble game dice roller with a digital roller. We might even program that device to produce more number 6s than random, to make that game even less annoying!

I’m also looking forward to making an UNO board from scratch, just for fun, a device to tell us when to water the plants, and a device that decodes a secret door knock. And, of course, we will build a device that detects the cat and deploys a cat toy when she is near and moving.

We will find the instructions and code to deploy most of these projects, or at least, versions that we can modify, in Arduino Project Handbook: 25 Practical Projects to Get You Started, which just came out, but, as I understand it, is selling so fast that they are running out. (Don’t worry, they are printing more.)

I’ve read quiet a few Arduino project books. There are two kinds. The intro book, such as the one being reviewed here, that provides a large number of projects that illustrate how the system works, while at the same time, providing a number of practical projects mixed in with some that are just for fun but that show important physical and programming principles. the other kind are more specialized, and cover how to use this system to build, say, environmental sensors, or robots, or to work with Lego Technic, or whatever.

All the intro books that don’t suck (some suck) are similar, give you similar tools, similar information, etc. But this new book, Arduino Project Handbook: 25 Practical Projects to Get You Started, is better than the other intro books for two simple reasons.

First, the instructions themselves are VERY clear and have EXCELLENT illustrations to show the wiring.

When you build an Arduino project, generally, you use hookup wires to connect the controller to various sensors, lights, etc., via breadboard. A breadboard is a plastic thingie with a lot of holes in it, and the holes are, in turn, hooked up to each other in a specified pattern. So you can hook up the “electricity in” wire to one hole and all the other holes in a particular lines will now have electricity in them. (I oversimplify.) Then you stick lights or motors or whatever into the various holes so they are now hooked up properly to the controller (which supplies both input and output logic and power).

The problem is that it doesn’t take a very complicated project to require a lot of connections, a lot of wires, various resistors, etc. The projects are visually complex and confusing.

These projects are illustrated with a combination of photographs of a properly assembled board and controller and parts, and a diagram that is very seeable and readable and folowable.

Other project books have good diagrams as well, but this book is a notch above the best and a few notches above the average.

The second reason this book is good is that it is current, new, up to date. This is the most current project book available, so if you are looking to get started with Arduino, this is the one you want today. In six months or a year, maybe not.

Another nice thing about this book is that the author, Mark Geddes, is pretty straight forward and helpful in specifying parts and equipment needed. There is a list of parts right at the beginning of the book that you will need for all of the projects, and a list of ideal tools and other items. He suggests alternatives, and provides enough added information with the project instructions that you can know where to vary the specifications. There is a detailed well illustrated appendix that shows and describes the parts, so you will not be confused or stymied when searching for parts on line, or, for that matter, trying to figure out which part is which in that box you threw all the parts in last time you were messing around with your Arduino.

Naturally, the code for each project, which you upload to the device via your computer using a USB connectors, is available at the book’s web site for download.

If you are going to start messing around with Arduino projects, this is the book to start with, and it will get you quite far.