Introduction: Hector the Hexapod: Cheapest Hexapod W/ Arm(Arduino)
Hector is an Arduino controlled Hexapod with a robotic arm. Hectors parts include the Sparkfun/Dagu hexapod chassis, Me/Arm Phenoptix Arm, Adafruit 16-Channel Servo Driver Shield, and an Arduino. It's movements are controlled with a TV remote and IR receiver diode.
Step 1: Materials & Components
1. Arduino/Clone(IEIK worked well for me) $12.19 http://www.amazon.com/IEIK-Board-ATmega328P-Cable-...
2. 16-Channel Adafruit Servo Driver Shield $17.50 https://www.adafruit.com/products/1411
3. Sparkfun/Dagu Hexapod Chasis Kit $99.95 https://www.sparkfun.com/products/11497
4. Me/Arm Phenoptix Robot Arm Kit $55 http://www.adafruit.com/products/2012
5. Breadboard $4.95 https://www.sparkfun.com/products/9567
6. Female Power Adapter 2.1mm $2.00 http://www.adafruit.com/products/368?gclid=CMK4j7X...
5-6 Volt 4 Amp DC Power Supply $14.95 http://www.adafruit.com/products/1466
or 4xAA's in a Series
8. IR Receiver Diode $1.95 https://www.sparkfun.com/products/10266
9. IR Remote Control(Any TV remote will work)
10. Extra Wire $2.95 https://www.sparkfun.com/products/8866
11. Shield Stacking Headers $1.95 http://www.adafruit.com/products/85?gclid=COzH8tnd...
12 . L.E.D.s
13. Resistors 7 x 560 ohm
14. Optional IR Distance Sensor(not yet used)
Step 2: MeArm/Phenoptix: Assembly
You can find the full instructions on how to assemble the MeArm here:
This was a fun build and well worth the $55 by itself. I tore apart an old usb game controller to find the joysticks and wired the servo's straight through the Arduino with no shield which is why there is so much chaos on the breadboard. Only 4 Analog I/O ports and 4 PWM Digital ports are necessary to control the MeArm using joysticks.
These are cheap 9g servos, so the one that controls the left/right movement on the base will strip easily. Luckily we won't be dealing with the left/right base servo on Hector because he will be doing all the turning himself.
Step 3: Sparkfun/Dagu Hexapod Chasis
Full instructions on assembling the hexapod chassis can be found here:
The way this Hexapod walks makes it really important to position each servo at almost exact center if you want to avoid complicated error corrections in the code. Otherwise, the hexapod will walk crooked because the servos aren't in sync.
A Spider microcontroller is shown on the box of this chassis and is the recommended means of control. I decided it would be better to use an Arduino and the Adafruit Servo Shield. Either will work for this project, but as I have not used the Spider controller I cannot say for sure that there will be no complications with the code. It also took me some time to figure out in what order to connect the servos. Start with the back, left leg as 0 and continue around the circle coming back to the back right leg as 11.
1. After building the chassis, attach the Arduino w/ connected shield to the underside of the chassis(I used garbage ties)
2. Peel the back paper off of the breadboard and stick the adhesive side to the top of the chassis
3. Attach all connections to the Arduino with the 22awg wire feeding the wires though the holes toward the breadboard
4. Add IR Receiver Diode, Reaction LED, and Battery Holder to the breadboard and connect
5. Connect the 2.1mm Female Power Adapter to the Adafruit Shield using the 22awg wire
6. Pull the leads of the L.E.D's through the holes in the legs and connect each GND to a 560 ohm resistor leading to GND rail and the VCC to a 5v rail
7. Add a 9-volt battery and the 5v power adapter to the shield and the Hexapod is ready to walk.
In order to control the hexapod using a tv remote you will be required to decode the signals being sent from the remote. To adapt the code to your remote just copy the values you're given for each button with their corresponding button's in the code. A detailed tutorial for decoding any remote can be find here:
Step 4: Merging the Kits
Combining the two kits turned out to be incredibly easy and it doesn't even require any extra parts.
1. There should be a space left on top of the chassis for the MeArm to be attached.
2. Leave the servo horn in place after detaching the MeArm from it's base servo as it will act as the bolt to the screw we will be using.
3. The baseplate of the MeArm kit contains 4 long screws. Unscrew one of these(you don't even need the bolt) and while carefully holding the hexapod upside down insert the screw through the chasis and screw it into the servo horn still on the MeArm. This one screw will be sufficient to hold the arm in place.
4. Insert the 3 servo cables through the chassis and into their appropriate ports on the shield. You will need only 1 servo extension for the servo that controls the gripper. I used 3 male to female jumper wires.
Be sure that you left enough extra wire for the 2.1mm female power adapter to clear the bottom of the arm. The last port on the servo shield is for the Infared Sensor Servo, but as of now I am waiting for some new 9g servos to replace some that have broken.
All the codes for Hector the Hexapod throughout his stages can be found on the next step.
Step 5: All of the Codes
Me/Arm codes that use inverse kinematics can be found here:
The code for controlling the hexapod movements is based off the example code from Dagu with alterations made for use through the Adafruit Servo Shield. This link leads to the code that will control just the hexapod.
You will need to download a few libraries in order for the Hexapod codes to work correctly. Download and copy to the Libraries folder in your Arduino Program Files then restart Arduino IDE.
Adafruit_PWM_Servo Driver Library - https://github.com/adafruit/Adafruit-PWM-Servo-Dri...
IR-Lib Library - https://github.com/cyborg5/IRLib/
The Final Code that controls Hector can be downloaded here:
We have a be nice policy.
Please be positive and constructive.