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

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: 

Comments

author
devicemodder made it! (author)2016-01-27
author
devicemodder made it! (author)2016-01-27

The site is dead. I used to have a copy of the code, where can I get it?

author
devicemodder made it! (author)2014-01-29

to make it smaller replace the laptop with a raspberry pi

author
rsangeethk made it! (author)2012-06-14

heiiii.... dont you need TTL logic converter... like max232???????? when connecting laptop with the microcintroller??????

author
XicoMBD made it! (author)XicoMBD2012-06-14

The Arduinos that used have a FDTI chip ;-)

author
rsangeethk made it! (author)rsangeethk2012-06-15

but im using a third party board with h-bridge....!!! which one is best for usart!!!

author
XicoMBD made it! (author)XicoMBD2012-06-15

Is it arduino based?

author
rsangeethk made it! (author)rsangeethk2012-06-15

noooo.. its not arduino based! and do you have the same code for avr studio.. or any hexfile of this code?????? if yes plzz share it!!!

author
XicoMBD made it! (author)XicoMBD2012-06-15

I only have the arduino code, but it is very very simple.
It should be easy for you to replicate it. It only has to receive the chars from the serial port and actuate the motors accordingly.
Try to search for serial port communication examples...

author
sabari1000 made it! (author)2011-11-21

Hey Guys... I'm using Arduino Diecimila... Selected correct Board and Serial port... But still i can't upload the program.I'm getting the following Error

***avrdude: stk500_getsync(): not in sync: resp=0x00
avrdude: stk500_disable(): protocol error, expect=0x14, resp=0x51***
i'm searching in lots of Forums for 6 days but still i cant find the solution... can anyone help me out of this... Thanks in Advance...

author
Garebear350 made it! (author)Garebear3502012-01-06

Same thing has happened to me repeatedly with my uno i have no idea what to do.

author
MRedu made it! (author)2011-11-02

Insane! I've seen some amazing things here on instructables but this is by far my favourite!

I wanna give this a go i've always been into robots. But i don't know where to get all the parts from... (i'm in the UK).

author
XicoMBD made it! (author)XicoMBD2011-11-02

Thanks for the comment :D
You can get the motoruino directly from guibot (http://www.guibot.pt/motoruino/), just leave them a message.
The rest of the parts aren't so specific, you can get any motors, battery and wheels. You should be able to find this kind of thing on ebay, for example.

If you're interested, I've been collaborating in the development of a similar platform, but much more powerful and capable: http://magabot.cc/dp/magabot. Have a look :)

author
MRedu made it! (author)MRedu2011-11-08

Cool Thanks!

author
karan13 made it! (author)2011-08-24

i want a short help from u .is there any way i can controll this robo with psp a well as tag laptop's camera as to psp's screen
plese help ,as i want this to exebit this bot in exebition.
thanx

author
XicoMBD made it! (author)XicoMBD2011-08-24
author
osalomak made it! (author)2011-07-14

What this mean? What I did wrong?


avrdude: stk500_getsync( ): not in sync: resp=0x00 
avrdude: stk500_disable ( ): protocol error, expect=0x14, resp=0x51

error.jpg
author
XicoMBD made it! (author)XicoMBD2011-07-14

I'm not sure. When I have that error I usually disconnect the board from the PC and reconnect it again.
But try to go to that link and see if it is useful.

author
osalomak made it! (author)osalomak2011-07-15

My broblem was board choice...
My Motoruino board works with Arduino Duemilanove...
I first try choose Arduino Diecimila, but it's not accept that...

author
guibot made it! (author)guibot2011-07-15

Hello!

Assuming it might be the FTDI cable please confirm that you are connecting the black cable on the same side where it says GND.

Confirm also you are selecting "Arduino Duemilanove or Nano w/ ATmega328".

Please let me know if it worked.


author
osalomak made it! (author)osalomak2011-07-15

Yeah! It's working now... :)

author
guibot made it! (author)guibot2011-07-15

Great!! ;)

author
XicoMBD made it! (author)XicoMBD2011-07-15

Like I told you before, I choose the "Arduino Duemilanove or Nano w/ ATmega328".

Are you sure that the problem isn't from the FTDI cable?

author
osalomak made it! (author)osalomak2011-07-15

Yeah, my bad... I have dyslexia... :D
And "broblem" mean problem... :b
But now everything working perfectly...
FTDI cable working very well too. :)
Now I try to do that same project without laptop... 
Some kind of wireless thing... I post some pictures later... 

author
Avadhut.Deshmukh made it! (author)2011-07-14

i have another idea to use ic l298d motor drivers
what correct ?


plz reply

L298 Board Manual.JPG
author
XicoMBD made it! (author)XicoMBD2011-07-14

On the picture you have a L298N. But yes, you can use it.

author
Avadhut.Deshmukh made it! (author)Avadhut.Deshmukh2011-07-14

i have L298N motor board 1 in 2 dc geared motor !!!

my robot started working thank you

author
XicoMBD made it! (author)XicoMBD2011-07-14

Nice!
Send me some photos or videos so I can post them on this 'ible ;)

author
osalomak made it! (author)2011-07-07

Thanks for informations! :)

My project is almost same as yours, but I add mouse controlled servos for webcam's rotation...

http://www.youtube.com/watch?v=lFvQRWXX24U

author
osalomak made it! (author)2011-07-06

what software you used to programming Motoruino..?
Can I use Arduino software to programming Motoruino...? :)

author
XicoMBD made it! (author)XicoMBD2011-07-07

Yes, of course ;)
Have a look here: http://www.guibot.pt/faq/#caracteristicas
"Besides the lack of the usb connection (you will need a TTL-USB converter described below), the Motoruino is 100% compatible with the Arduino Diecimila, including the pin position, so you can attach any compatible arduino Shield."

On the arduino IDE you just have to choose "Arduino Duemilanove or Nano w/ ATmega328".

author
karan13 made it! (author)2011-07-02

while creating face tracker ,i am comming across some problem i have added
pface detect
pface detect.dll
controlp5
jmyron
jmyron.dll
and folowed every step respectively but on the message bar an error is coming
that-............................./pfacedetect.dll -cannot find dependent file .
i am using win 7 32-bit. can u tell me where i am going wrong .
thankyou

author
XicoMBD made it! (author)XicoMBD2011-07-03

I'm not sure if it works with 7, I've only tested with XP. Where have you added that files?

author
karan13 made it! (author)karan132011-07-03

i have addrd these files in the skech

author
karan13 made it! (author)2011-06-27

does versions effect the making of application

author
XicoMBD made it! (author)XicoMBD2011-06-27

I don't know

author
karan13 made it! (author)2011-06-27

which version of processing r u using

author
XicoMBD made it! (author)XicoMBD2011-06-27

1.2.1

author
karan13 made it! (author)2011-06-21

hai my robo started working thank you man..............i want to know that is there any way we can control robot through our voice

author
XicoMBD made it! (author)XicoMBD2011-06-21

Cool!
Post a video here if you can :)
Yes, I've found this (https://code.google.com/p/ofxasr/) but I haven't had any time to integrate it with the COWC (ComputerOnWheelsController) application.
I may be able to do it next week when I finish my exams, but try to do it yourself!

author
XicoMBD made it! (author)2011-06-18

Yes, you can.
Have a look:
http://www.datasheetcatalog.org/datasheet/stmicroelectronics/1330.pdf

author
crxksa made it! (author)2011-06-16

forgive me if i am slily
where did you buy the motor
;)

author
XicoMBD made it! (author)XicoMBD2011-06-17

"They were from another robot, which I bought when I participated in this event, some years ago: http://www.roboparty.org/en/index.php?link=roboparty"

PS: Read the older comments, your answers were already there ;-)

author
crxksa made it! (author)2011-06-16

hey in the video you show iPhone controlling the robot
can you give me link for it

thanks

author
XicoMBD made it! (author)XicoMBD2011-06-16

I've done that using this application (http://www.franciscodias.net/applications/openframeworks/computer-on-wheels-controller) and TeamViewer (http://www.teamviewer.com/en/) to control the computer with the iPhone.

author
karan13 made it! (author)2011-06-16

where should v connect battery connection in h bridge l293d

author
XicoMBD made it! (author)XicoMBD2011-06-16

Like this, for example:
Controlling two motors with L293D and a battery just for them

author
crxksa made it! (author)2011-06-15

thanks bro it worked perfectly

good response also

only one small problem wen i turn right it turns lift ans wen i turn lift it turns right

author
XicoMBD made it! (author)XicoMBD2011-06-15

Good to know! Post a video if you can/want :D

That is easy to correct, in the code, replace "case 'a':" with "case 'd':" and "case 'd':" with "case 'a':".

About This Instructable

19,699views

45favorites

License:

Bio: Hi, My name is Francisco Dias and I'm a student from Lisbon, Portugal. Have a look at my website: http://franciscodias.net/
More by XicoMBD:Create an internet controlled robot using LivebotsArduino controlled Ping Pong Balls LauncherBuild a USB Orange Thrower Machine
Add instructable to: