Introduction: Robopod the Arduino Powered Robot




Robopod is a simple arduino robot that uses antennas to detect obstacles. Robopod's motors are controlled by an H bridge and   powered by a nine volt battery.  Robopods circuit is based on a breadboard for easy modification.

Step 1: Tools and Materials

Material

Tools
  • Drill press and/or Drill
  • Drill bits
  • Hot Glue Gun
  • Xato Knife
  • Soldering Iorn
  • Clamp
  • Printer
  • Wire Strippers/Cutters

Step 2: CuttingThe Shell

First download the pdf and open it up in Adobe Reader and press the print button. When the print menu comes up select "poster" under page size and handling; press print.  Using a paper cutter or a knife and ruler cut off the excess paper using the crosses to align the ruler or paper cutter. Then tape the sheets together with scotch tape and roughly cut the shape out. Next cut a off piece of corrugated plastic slightly bigger than the template you just cut out. After that, tape the template to the plastic and cut on the outside lines with a ruler and knife.  Then tape the template back on the piece you just cut out and  cut half way through on the rest of the lines so the segments can bend along the cuts.

Step 3: Gluing the Shell

Start by folding the shell along the scored lines and tape it together. Then glue all the seams and score lines with hot glue except the bottom ones . Once the hot glue cools remove the tape and then cut along the bottom score line so that you have flat base and a top shell.

Step 4: The Base

First print off the pdf file at the bottom of the page and cut it out along the outside lines and tape it to the robot base. Next, cut the two small rectangles out of the base with a knife.

Step 5: The Wheels

First cut two 1/2" squares and two 2" square. After that clamp the two 2" squares together and drill a hole in the center of the blocks slightly larger than your axle, next drill a  hole about 3\8" deep using a 1" winged bit.  Then drill a hole slightly larger than your axle in the approximate center of both the 1/2" blocks and then sand the corners down.  Next put your axle through the hole you drilled in the 2" blocks and fill the one inch hole with oogoo.  Then put one of the 1/2" blocks on the axle and push it into the oogoo and wipe off the excess oogoo from round the 1\2" block. Once the oogoo has cured unclamp the blocks and pry out the wheel,  repeat for the other wheel.  After that, drill a hole slightly smaller than the axle on the edge at the widest points of the base. Put the wheel in the cutout rectangle and insert the axle through the hole at the edge of the base into the wheel, repeat for the other side.

Step 6: The Motors

First position the motor on the base so it is parallel to the axle and the shaft is pressed firmly against one of the wheels, then mark its  position with a marker and then remove the motor from the base.  Next apply some hot glue to the marked area and put the motor back where it was, repeat for the other side.

Step 7: The Antennas

Start by cutting a 1 1/2" piece off a paper clip, then wrap enough electrical tape around the piece of paper clip about a 1/4" from the end so that a pen spring will snugly fit on it and then put a pen spring on the electrical tape so it that the end of it is about 1/8" past the end of the piece paper clip.  Next cut a 5" peice of 32 awg enamel wire  and sand the enamel off one end and wrap that end through the end of the spring and solder it in place.  After that, strip the insulation off about 3" of 22 awg wire and wrap it around the bottom of the spring. Then solder a piece of wire to the bottom of the paper clip and to the piece of wire wrapped around the bottom of the spring.  Next wrap electrical tape around the end of the paper clip with the wire soldered to it and then wrap  electrical tape around the part of the spring with the wire wrapped around it. Repeat for the other antenna. After that drill 1/4" holes on the front of the shell(see pict 8).  Then insert  the antennas through the holes so that the part of the spring that is not on the electrical tape is sticking out of the hole and then hot glue the antennas in place from the inside of the shell. Finally, attach the wires from one antenna to the corresponding wire on the other antenna and add a small piece of 22 awg wire to the two connections and solder.

Step 8: The Switch and Power

Start by cutting off two 9" pieces of wire and cut one of them in half.  Then solder the the long wire to the positive wire on the 9 volt battery snap and one of the short wires to the negative wire.  Next, solder the other end of the short wire to the middle terminal on the toggle switch and solder the other short wire to one of the outside terminals of the switch.  After that, cover the terminals of the switch with hot glue.  Then solder the wire coming from the positive side of the battery snap to the center terminal of the barrel jack and solder the wire coming from the switch to the outside terminal of the barrel jack.  Next , wrap electrical tape around all the connections. Finally, drill a 1\4" hole on the highest point and install the switch in it.

Step 9: Wiring

Put the H bridge in the breadboard then make the following connections:
  • Tie H bridge pins 4,5,12,13 to GND
  • 5V to H bridge pin 16
  • Vcc to H bridge pin 8
  • H bridge pin 2 to arduino pin 2
  • H bridge pin 7 to arduino pin 3
  • H bridge pin 10 to arduino pin 4
  • H bridge pin 15 to arduino pin 5
  • H bridge pin 1 to arduino pin 10
  • H bridge pin 9 to arduino pin 11
  • Motor 1 negative to H bridge pin 3
  • Motor 1 positive to H bridge pin 6
  • Motor 2 negative to H bridge pin 11
  • Motor 2 positive to H bridge pin 14
  • Antenna pin 1 to 5V
  • Antenna  pin 2 to arduino pin 6
  • 10K resistor between Antenna  pin 2 and GND 
     

Step 10: Finishing Up

Start by hot gluing a small piece of velcro to the back left corner on the bottom of the base and one to the front right corner. Next, hot glue two  1 1/2" pieces of velcro to the inside of the shell so they will line up with the pieces on the bottom of the base.

Step 11: Upload the Sketch

Copy and paste the sketch into arduino ide and upload it to board

int Enable1 = 10;
int Enable2 = 11;
int M1 = 2;
int M2 = 3;
int M3 = 4;
int M4 = 5;
int Switch = 6;

void setup()
{
  pinMode(Enable1, OUTPUT);
  pinMode(Enable2, OUTPUT);
  pinMode(M1, OUTPUT);
  pinMode(M2, OUTPUT);
  pinMode(M3, OUTPUT);
  pinMode(M4, OUTPUT);
  digitalWrite(Enable1, HIGH);
  digitalWrite(Enable2, HIGH);
}

void loop()
{
  if(digitalRead(Switch) == HIGH)
  {
    backwards();
    delay(500);
    turn();
    delay(500);
  }

  else
  {
    forward();
  }
}

void backwards()
{
  digitalWrite(M1, LOW);
  digitalWrite(M2, HIGH);
  digitalWrite(M3, LOW);
  digitalWrite(M4, HIGH);

}


void forward()
{

  digitalWrite(M1, HIGH);
  digitalWrite(M2, LOW);
  digitalWrite(M3, HIGH);
  digitalWrite(M4, LOW);
}

void turn()
{
  digitalWrite(M1, HIGH);
  digitalWrite(M2, LOW);
  digitalWrite(M3, LOW);
  digitalWrite(M4, HIGH);
}

Step 12: Troubleshooting

If the robot turns around in circles reverse the attachment of one of the motors wires to the H bridge.

If the robot moves backwards, reverse the attachment of the motors wires to the H bridge.

If the robot moves backwards and turns, add a small piece of wire insulation to paper clips on the antennas and adjust the sensitivity by moving the insulation.   

Comments

author
Elliotbarbo (author)2015-11-16

thank you! I'm making it right now!

author
86 (author)Elliotbarbo2015-11-16

Cool, let me know how it goes and feel free to comment if you have any questions.

author
Elliotbarbo (author)2015-11-16

the H Bridge is out of stock to can you give me a another one?

author
86 (author)Elliotbarbo2015-11-16

http://www.adafruit.com/product/807

This one will work just as well, or you could just wait until spark fun gets them back in stock, they estimate to have them by the 25.

Also if you don't mind paying a bit more for the motors this one would be much better

https://www.sparkfun.com/products/12285

A cheaper alternative is this

https://www.sparkfun.com/products/13302

although you might have to scale up the templates a bit

author
Elliotbarbo (author)2015-11-15

Please tell me what tipe of motors they were because it said that they are out of stock

author
86 (author)Elliotbarbo2015-11-15

Any DC hobby motor should work

This one might work: https://www.sparkfun.com/products/11696

although it is not as powerfull

author
jimster1218 (author)2013-06-23

How does your antennas detect touch? I noticed that you do not have CapacitiveSensor library in your code.

author
digital_gods (author)2013-06-18

Just add teeth. See URL for Cybermat with teeth. http://www.doctorwhoworld.org.uk/cybermat.html

author
Kiteman (author)2013-06-18

Hehe, it looks like a Cybermat!

author

Just what I was thinking! Our son has built some fibreglass cybermats, I'm definitely showing him this!

author
HelmutHound (author)2013-06-17

This may be an off question (considering its a robot ible).
How exactly did you calculate the length, width and angle of each segment, in regards to the shell / exoskeleton of your robot?

author
86 (author)HelmutHound2013-06-17

I modelled the shell in sketchup and then unfolded it using the unfold tool

http://sketchuptips.blogspot.ca/2007/08/plugin-unfoldrb.html

author
WWC (author)HelmutHound2013-06-17

Ya what did he use to lay that out?