Introduction: Make a Simple Platform and Give Mobility to Your Computer

About: Hi, My name is Francisco Dias and I'm a student from Lisbon, Portugal. Have a look at my website: http://franciscodias.net/
A computer is a very handy thing to use in your robots.

If you start listing all the features that can be used for robotic purposes you'll find that it is cheaper to buy a netbook than buying LCD, wifi and bluetooth modules, cameras, speech synthesizer modules, keypads, memory card readers, speakers and many other stuff.

Thats why I decided to make this platform to my netbook.  To let the computer control the motors, I tried two different ways: Firstly I used a arduino duemilanove with two motor driver boards , but then I found that it would be much easier if I just used a motoruino .

With this I could create lots of different applications that let my computer follow certain colors, follow human faces, detect flames, drive around the house avoiding walls, be remote controlled through the internet or using a wiimote, and the list of possibilities is almost endless. 

I have been developing this application, presented on the movie, which is called ComputerOnWheelsController.
You can learn more and download it at its page: http://www.franciscodias.net/applications/openframeworks/computer-on-wheels-controller

 
Or, if you prefer processing, you can find and download some examples that I've already done at my website: http://www.franciscodias.net/processing-applications

Step 1: Gather the Materials

This is what you'll need:
    - 1x Box
    - 2x Motors, wheels  and supports
    - 1x Third wheel
    - 1x Battery pack 
    - Some wires and jumpers

And...

  If you decide to use the motoruino you'll also need:
     - Motoruino
     - FDTI Cable

...or...

  If you prefer the arduino you'll need:
     - Arduino
     - USB A/B Cable
     - Dual Motor Driver, I used these . You can use whatever you want, for example, the L293D is very easy to use. Check the attached breadboard image.

Step 2: Prepare the Box

Let's prepare the box to fit our needs:

Cut the holes that you need for the USB cable and for the wheels.
I heated a knife in the stove to do that easily, and it was like slicing butter.

Step 3: Attach the Wheels

Place the wheels on the motors' hubs and tighten their screws.

Attach also the third wheel on its place.

Step 4: Place Everything Inside the Box

If you use the motoruino you have to connect the wires from the motors and  the battery to the respective screw terminals.
If you have doubts check this page: http://www.guibot.pt/using-the-motoruino/  .
Then you have to connect the usb cable, if you're using one with the FTDI chip embedded just connect it dirrectly to the board, if you're using an adapter board like me put it in place and connect the usb cable to it.
Make sure you're connecting it the right way, you may have to connect it faced down.


If you decided to use my boards, connect the battery wires and the motors to the motor controller boards, as it is show on the images.
Connect the 5V of the arduino to the boards, and the jumpers which come from the PWM outputs of the arduino.
They are two for each motor to be possible to control the speed of rotation on both directions of rotation.


If you use a L293D in a breadboard, check the attached image.

  If use other controllers, check their datasheet.


Now the hardware part is DONE!

Step 5: Upload the Sketch to the Arduino

Download the attached file, open it with the Arduino Software , read it if you desire, choose the serial port and the board, and upload it to your board.

Step 6: Test It!

Open the serial monitor window and see what happens when you send the following commands:
    - 'w' move forward
    - 's' move backward
    - 'a' spin to the left
    - 'd' spin to the write
    - 'g' stop
  

Step 7: Open Your Imagination!

Now that you have your platform working, start creating applications for it!

I'm currently developing ComputerOnWheelsController which is an application supposed to be simple to implement and use with robots connected in some way to a computer, like this one.
You can learn more and download it at its page: http://www.franciscodias.net/applications/openframeworks/computer-on-wheels-controller

I've also created some with processing , which is a very easy language to learn, specially you you already know  how to program in arduino.
You can have a look and download them here: http://www.franciscodias.net/processing-applications
Always remember to check the available Serial port on your computer, in my case is COM19, but this is different from system to system.

Here is again the demonstration of the color tracking one: