Let's Make Robots!


Avoids obstacles using ultrasound. It will map terrain to grid and store it in a SD card.
src_2013-03-28.zip4.23 KB


Hi again! I finally took the arduino board out of the robot's body. For now all connections are in a breadboard, at some point I'll move to a PCB. After moving to the breadboard, I had some issues with the motors, but searched a bit in the site and found guibot's post: http://letsmakerobots.com/node/2074. Followed that configuration, adding both ceramic and electrolytic capacitors, and they started working fine.


Power supplyI'm using a 9V battery for the arduino and sensor (with a regulator to 5V). For the motors I set 4x1.2V 2500mAh AA Ni-MH rechargeable batteries. It seems they need more power the robot moves really slow. I read that the L293D drops ~1.2V in several posts here, so I'll need to upgrade that power source.

Power supply

Code: I moved to a OOP approach, creating classes for sensors, motors, etc. This is still in progress, but seems to be working. In the .ino setup() method I'm calling Robot::build() method, that creates the rest of the objects. the Robot class keeps the bot status. I uploaded the code as is now (in progress!!). I'm using VisualMicro (the Visual Studio add-in) as IDE.

Here is the current classes diagram:

Classes diagram

Next steps: I started working in an IR encoder for the wheels, one of the motors moves a bit faster than the other. Also this will be useful for tracking. I also need to improve the robot sensors, was thinking on adding IR leds to avoid lateral collisions. finally, I will add a tilt/pan mount for the distance sensor. Still a LOT of work to be done, it's fun! :)

START 2013-02-19

Hi all! This is my first attempt to buid a robot. Trying to learn some electronics in the process.

For now it just has one ultrasonic sensor, a L293D for the motors and not much more. If nothing burns or explodes (including my head).

I will change to a standalone Arduino, add encoding wheels to track distance, some sort of algorithm to map the terrain in a grid. I assume the structure will change too, but this is all I have for now :)


Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

You have a good looking prototyping setup. Looking forward to the updates.

Maybe this can be upgraded in to a maze solver? But, this is cooooooooool! It looks neat too!

Hmm, could be. I'm not familiar with maze solving algorithms, it's a good way to learn about that.

Instead of terrain mapping it could map blocking objects/walls in a 2D surface. Sounds good... I'll think about it.

Thank you!

Sweet! looks like you are just starting out, like me.

RE your terrain mapping, i guess the best thing to do would be to EXPORT some data as CSV from a CAD file or whatever, to see what information it needs, and in which format?

If you were going to use it inside, (not that you get many hills inside) an accurate method of getting elevation would be to take an ultrasound off the ceiling? hmmm, maybe thats a rubbish idea actually.

I went with an Adafruit motorshield as my driver, as its predesigned for the job, and lets you use seperate power supplies for the controller, and the motor. Might be worth a look>?

hmmmm, interesting..... Good luck!


Great ideas! Never thought about measuring the distance to the ceiling. Good one.

I'm thinking on mapping objects the robot finds in the floor. I think this ultrasonic sensor is not enough accurate for that, but for now it's ok... I have a long path to go before adding mapping :)

Regarding using a motor shield, yep maybe at some point a shield like that will be better. With this H-bridge you can also use a different power supply for the motors.

Thank you and good luck for you too!


like others, I will follow you carefully about the terrain mapping

Great, thank you!

Wow! Terrian mapping! I gotta get me some of that! Could you export the final grid into a sketchup file or something?



At this point I was thinking on having a CSV-like file. Not sure how .SKP file format is.

Maybe some processing of the data can be made to create something SketchUp could import.

Thanks for the idea!

Very nice,

It has a good clean look to it.  What is the base made of?  Also is it using a PIXAXE chip? 

When you get the terrain mapping working, I would love to see the code.


                      Congratulations and good luck on your project,