Arduino, Electronics, Hal, How-To, Ideas, Robotics, Ruby

Infrared Sensor Data for Hal

I’m using an infrared range sensor for the real life Hal.
The Sharp GP2Y0A02YK0F – Infrared Proximity Sensor Long Range

Hal 1.0
Hal 1.0

While testing his motions, I was noticing some pretty erratic behavior, so I decided to collect some data on the sensor values on a fixed object, while Hal was not moving.

This is a graph of about a minute of Hal moving the sensor from 45 to 135 degress in front of him and then taking a reading when the motion of the sensor stops. It’s at a wall, at a slight angle so the graph lines aren’t on top of each other at about 45 centimeters away.


My results for this sensor are not within the tolerances of being able to program him to to anything really interesting in an environment that isn’t really simple.

The good thing is that only once in this data would a “is this way further than that way” check be incorrect.  Then again, he isn’t even moving positions here.  The data is pretty erratic over a 1 minute period.

In reality, this is maybe not the correct sensor for this application.  Maybe an ultrasonic would be better.  Hal may have to have eye surgery.

Hal IS supposed to be a very inexpensive robot based solely on Arduino.  I don’t expect him to be able to do very complicated things, but I was hoping for a little better readings on a fixed object than what I’m getting.


Power to electric motors from a digital controller is never easy

Hooking up 2 electric drive motors seems like a simple task on the surface, but never is in practice.  Here’s my mockup of a circuit I’m going to use.  The meat of the control circuit is an L293D Quadruple Half-H Driver. Now that the breadboard prototype is working, it’s time to assemble the thing permanently on a printed circuit board.  Leave a comment if you want the schematic for this, it works pretty well with no noticeable gitter thanks to a bunch of capacitors.


It’s time to make the robots

I’m building a small robot this week.  We’re calling him Evadotbot (Caleb came up with that).

He’s pretty simple, a two motor gearbox will control 2 wheels, the 3rd being a caster wheel so he can spin in a circle.  He’s controlled by a simple motor controller chip and powered by 4 AA rechargeable batteries.

His “brain” is an Ardunino Duemilanove which has a whopping 32k of memory.  If you’re not a computer geek, think about that Commodore 64 you could get in 1981 and divide it’s RAM in half. Or, go to the  It’s shown here in it’s “skull”, aka an Altoids mint box.

To top it off, he has an infrared range sensor for “eyes” and an Xbee radio so he can send data back to me and eventually communicate with his peers.

More pictures to follow as he gets assembled.