From One Eye to Three Eye Monster

Three Eyed Monster

Thanks to BrickLink I found I could buy used UltraSonic sensors for less than $10 each! So I bought two, and now my little friend shouldn’t run into walls as much.

He should also be able to follow a wall on one side while avoiding obstacles ahead.

I tried putting all three up top, like the picture in my first post, but besides getting top heavy, I found I was unable to see a lot of obstacles. Putting all three down low makes them far more steady, makes it less top heavy, and allows me to see lower obstacles.

Because the sensors are not “adjustable” and only provide a basic “distance to nearest object” response, their position on the vehicle determines what you see and what you miss. So the lower I mount them, the lower of an object I can see. Too low and they see the ground, too high and they miss things. Just right and they see what I cannot driver over!

Now the fun part is programming. leJOS provides great functions for dealing with UltraSonic sensors, but there is a catch with multiple sensors:
The way they work is that they send out a ping and listen for the sound to bounce back. If two are going at once, they cannot tell if the return sound is their own or another one.

By default they run “continuously” and you just poll a sensor for the latest reading, but with more than one, you need to make sure only one sends a ping at a time. So now I get to write code to cycle them:
Turn on sensor 1, ping, record distance measured, turn off.
Turn on sensor 2, ping, record distance measured, turn off.
Turn on sensor 3, ping, record distance measured, turn off.

Then I have to do something with all of this data, but that comes later . . .

System.out.print(“Hello World!”)

This blog is for me to share some of the experiments I do on my own time.

I will throw up some pictures and descriptions over the next few days of some of my past projects and then put updates about what I’m currently doing.

I am a Unix System Admin by trade.
I am working on a degree in Web Development.
I am teaching myself Java.
And I like to play with computers. 🙂


“He’s just this guy, you know?”

The primary project I talk about here is my ROS based robot built on a Parallax Arlo platform.
If you want to know more about that start here:
Arlobot Build Index or check out some of my videos.

Computers have been my hobby and passion since childhood. My hobby is to experiment with computers. My goal here is to share some of my projects for those who are interested and who may want to try some of these things themselves.

I love explaining things and teaching, so if you want more direction on how to make something work do comment and I will elaborate.

I have a full time job, but if you think I’m brilliant and want to pay me good money to experiment with computers for your company then feel free to contact me. 🙂

If you want a little background:
I have been a Full Stack Web Developer for about five years.
I was a Unix System Admin for ten years before that.
Before that I did Desktop Support for about five years.
And back in the days of yore I helped run a small ISP.
In short, I am a jack of all (computer) trades, and master of none.

If you are wondering about the name see Of Ekpyrotic and Froods