Instructables

Hercules: The Motion Controlled Android Robot

FeaturedContest WinnerContest Winner
When I was in the 8th grade, I was intrigued while playing the motion games on Nokia 5800. I was thrilled, how I could control the racing car by only tilting the phone. I used to dream of making this same car in the real world. 

Now, in 11th  grade ( Age 17) having got an Arduino Uno and learnt how to program it, I was able to build my "Hercules" robot. 

Hercules is the name given to my motion controlled robot because of its immense torque and speed. The robot is controlled by an android phone through bluetooth. The advantage of using an android phone to control the robot, is that I can use any android phone to control it and am not confined to using only one controller for the robot. The use of an android phone as a controller, significantly reduces the cost of the project, since money is not spent in building a controller for the robot.    

The Hercules was built for the 2012 Indian Institute of Technology, Mumbai's IIT Techfest ( Asia's largest tech festival ). The objective was to build a motion controlled robot that could race around an obstacle track.
 
Remove these adsRemove these ads by Signing Up

Step 1: Step 1: Parts Needed:

For making this robot you need the following parts :

         Supplies :

1.     Arduino Uno. 
2.     
Bluetooth Transceiver Chip ( Serial Bluetooth Modem).
3.     L298 Dual H-Bridge IC.
4.     4pcs of Geared Motor (Specifications depend on application of the robot).
5.     4pcs of wheels.
6.     12v 1Ah SLA Battery.
7.     Base plate for the robot components.
8.     3cms x 7cms PCB.
9.     4pcs of Project Enclosure / boxes .
10.   SPST Switch.
11.   Male Header Pins (Straight).
12.   Wire.
13.   Small Screws and nuts.
14.   Resistors ( 1pc 10K ohms and 1pc 20k ohms).
15.   Android phone.


            Tools :

1.   Soldering iron.
2.   Solder.
3.   Soldering wax.
4.   Drill.
     


Hi, compliments for the very nice tutorial|

I'm a beginner and I would appreciate if you can give me a help:

I do have Arduino uno and a motor shield adafruit as you can see on the image,

Can you please suggest how can I modify your sketch just to use it and explain in a way so that I can understand?

I hope to no disturb you with this!

Thanks a lot

Regards

Arnaldo

PS- My email just in case you want to email me.

arnaldo.armida@gmail.com

adafruit-motorshield.jpg
abencomo27 days ago

Nice work! We built a similar project. However, we installed an Android device onto a RC car and used an IOIO board instead to control it autonomously. Here is the preliminary result:

http://youtu.be/vkvkfcqEUkk

sidharthjain2 months ago

i am using arduino duemilanove instead of uno and the recieved output is random

please HELPPP

gm4afsal2 months ago

Guys...Just download and use Arduino 0022. Meet android problems will be solved then.
:)

YARiK_9973 months ago
Hi. i"ve got this error in arduino

In file included from sketch_sep26a.ino:1:
C:\Users\ADiTHYA_PC\Documents\Arduino\libraries\MeetAndroid/MeetAndroid.h:104: error: conflicting return type specified for 'virtual void MeetAndroid::write(uint8_t)'
C:\Program Files\Arduino\hardware\arduino\cores\arduino/Print.h:48: error: overriding 'virtual size_t Print::write(uint8_t)'
I do not know why some people are getting this error these days. I had written the program in Arduino ADK version 0022 hence try installing the version 0022 and see if that helps.
nskcoolguy3 months ago
can i use arm 7 instead of using arduino....
You could use the arm 7 instead of the Arduino, but I cannot help you out with that as I have no experience working with ARM processors.
vkadnor3 months ago
hey can i use arduino leonardo
bhar921 year ago
Hey Jayvis! Your robot inspired our first robot, the Mastadon! http://blimp12.blogspot.in/2012/07/mastodon-10-and-diy-dinner.html
Thank you so much!
I'm glad hearing about how you replicated the robot. Enjoy with it now. You can customize it in a number of ways to suit different purposes. All the best !! Btw where do you live in India ?
I live in Bangalore, and you?
I live in Mumbai
JAYVIS i too lived in mumbai...

i hv a prblm wit prgm will u plz upload it again
hey jayvis i liked ur robot and i m too from mumbai


love to so many Indians on instructables !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Every sixth person on this Earth is an Indian, so you could somewhat expect the same proportion here to. Hehe
can u tell me frm where did u get the blue tooth module and instead of L298 can i use l293D??
The L298 is quite common and can be purchased from Lamington Road. As for the Bluetooth Module, I ordered it from Ebay.com (Not Ebay.in)
can i get a bluetooth module frm lamington rod?
and while a upload the sketch i get this error
In file included from sketch_jan19a.cpp:1:
C:\Documents and Settings\PRANAV JAIN\My Documents\arduino-1.0.1\libraries\MeetAndroid/MeetAndroid.h:104: error: conflicting return type specified for 'virtual void MeetAndroid::write(uint8_t)'
C:\Documents and Settings\PRANAV JAIN\My Documents\arduino-1.0.1\hardware\arduino\cores\arduino/Print.h:48: error: overriding 'virtual size_t Print::write(uint8_t what should i do?
I do not know about the error as I am able to compile the program. Have you downloaded the Amarino plugin?

And about the bluetooth module, try your luck at Lamington but expect it to be overpriced if available.
which module did u buy frm ebay i m geting AUBTM20 with RS232 frm lamington road will it work???

What did u when u compile the sketch i.installed the amaranio libaray on the computer then wat should I do
does it need any plugin on computer????
adi-sreyaj6 months ago

i"ve got this error in arduino


In file included from sketch_sep26a.ino:1:
C:\Users\ADiTHYA_PC\Documents\Arduino\libraries\MeetAndroid/MeetAndroid.h:104: error: conflicting return type specified for 'virtual void MeetAndroid::write(uint8_t)'
C:\Program Files\Arduino\hardware\arduino\cores\arduino/Print.h:48: error: overriding 'virtual size_t Print::write(uint8_t)'
janandh7 months ago
hai jayvis will u pls upload coding for controlling motors through blue control..?

wat is the headerfile for this app?any other new library or the same????
rudhranandhan8 months ago
i have a problem..
my mobile detects the bluetooth module but i can't access the robot..
i think there must be problem in app..
pls help i have been doing this for 5 months kindly help me plssss
Check out Step 9. It has all the details on how to pair and connect your Android phone with the bluetooth module.
priyadarshu11 months ago
i built the robot as u said but it s not working. bluetooth s getting paired with my mobile but the robot s not moving so pls help me i dont know what to do.pls reply me as early as possible
Thank you for a fast reply.
Ok, got it about the disconnected blth module. About the second problem: i guess something might be wrong with the blth module itself. I tried to detach it from the system and power just with the 3v battery.
The phone still doesn't see it. Im scanning for bluetooth devices in settings.
P1110129.JPGP1110130.JPG
Hi Jayvis! I made this robot according to your instructions but I now face some problems.
1)The code doesn't want to upload. It uploads only if I detach all the wires from arduino.
2)My android phone doesn't see the robot by bluetooth

What can I do here?

When I turn on the switch all the lights turn on. On Arduino it's "on" and "L". Bluetooth light is blinking.
Hi,
I have written somewhere in this instructable that the code must be uploaded only when the bluetooth module is disconnected from the Arduino or else the bluetooth module could get damaged.
Regarding the connection issue, you must first pair with the robot through bluetooth settings menu in the android phone. Then you must connect the robot with the phone using the Amarino Software. Hope this helps!
janandh1 year ago
can i get any android apps for both motion controll and video receiving if so plz reply
janandh1 year ago
what are all the applications of it in real time problem if you have any idea plz tell me
janandh1 year ago
i have an error while compiling your program.'meetandroid does not a name type'this error which i had faced.eventhough i ve imported library from amarino im facing this error.what can i do?plz reply me soon..
maniza22041 year ago
can i use 12v DC motor which has lower than 500 rpm ? plz help
i cant find any at nearest shop in my town.
maniza22041 year ago
hi jayvis, i was so thrilled at first when trying to built the same robot like u did/
but im having problem with the programme, help me plezz
it says :
In file included from sketch_feb22a.cpp:1:
C:\Users\LaPtOp PuNoH\Desktop\mat\arduino-1.0\libraries\MeetAndroid/MeetAndroid.h:104: error: conflicting return type specified for 'virtual void MeetAndroid::write(uint8_t)'
C:\Users\LaPtOp PuNoH\Desktop\mat\arduino-1.0\hardware\arduino\cores\arduino/Print.h:48: error: overriding 'virtual size_t Print::write(uint8_t)'
hey i m trying verify the sketch this error cums

In file included from sketch_jan19a.cpp:1:
C:\Documents and Settings\PRANAV JAIN\My Documents\arduino-1.0.1\libraries\MeetAndroid/MeetAndroid.h:104: error: conflicting return type specified for 'virtual void MeetAndroid::write(uint8_t)'
C:\Documents and Settings\PRANAV JAIN\My Documents\arduino-1.0.1\hardware\arduino\cores\arduino/Print.h:48: error: overriding 'virtual size_t Print::write(uint8_t
Hi...
I am experiencing a problem regarding your code...
It says MeetAndroid is not a type???
What to do??
This problem was resolved but i m experiencing another problem...
I remade your project but failed to get serial data from the bluetooth module...
Tell me what to do???
But i m able to send and receive serial data through arduino serial monitor...
Hey did you download the Amarino library? Cause I am able to compile the program and it works flawlessly.
Pro

Get More Out of Instructables

Already have an Account?

close

PDF Downloads
As a Pro member, you will gain access to download any Instructable in the PDF format. You also have the ability to customize your PDF download.

Upgrade to Pro today!