Introduction: Froggy World 5 the Coffee Gripper

Picture of Froggy World 5 the Coffee Gripper


In Froggy World, the amusement park for adventurous plastic frogs, it became necessary to to move the frog from a train car back to the catapult.  Because I couldn't know whether the frog would be upright or sideways--and in what orientation--the gripper was a challenge.

I read about the "coffee gripper" developed at Cornell and used that technique for transporting the frog.

In the video, I cut out the "20 seconds of vacuum time--caused by my low cost pump" to keep from boring the viewers.

Step 1:

Picture of

What do we need to build this?

Arduino
Arduino motor shield
(2) Hitec HS-645MG ultra torque servo motors (amazon.com)
Vaccum pump  https://www.sparkfun.com/products/10398
Coffee (I used Maxwell house, original roast)
12" round balloon
Lazy Susan bearings  http://www.amazon.com/gp/product/B002TIKEQ6/ref=oh_details_o02_s00_i00?ie=UTF8&psc=1
Cast Acrylic tube  http://www.amazon.com/gp/product/B0070ZQGRE/ref=oh_details_o02_s00_i01?ie=UTF8&psc=1
Two feet of 3/8 inch OD, 1/4 inch ID tubing
Breadboard

Various 3D printed parts, design and print files at:
http://www.thingiverse.com/thing:68316

12 volt 1 amp power supply
5 volt 1 amp power supply

Step 2:

Picture of

To make this work, the coffee filled gripper must be pushed down onto the target.

The more it surrounds the target and the greater the vacuum, the greater the chances for a successful grip.

Since we are working with minimum "push" (servo motor 10 inches away) and low vacuum (low cost pump)--we have to do everything possible to help the system.

Reducing the thickness of the balloon wall is a first step.  Blow up a "12 inch" balloon and clamp it in the inflated position overnight.  It will stretch.

Step 3:

Picture of

Cut off the lip of the balloon.

Step 4:

Picture of

Weigh the balloon (around 3 grams) then attach a funnel.

Step 5:

Picture of

Add 20 grams of coffee.  I started with 47 grams and worked my way down--don't know what the absolute best situation would be.

Step 6:

Picture of

Insert the tube of the coffee filled balloon through the hole in the printed gripper and wrap it around the top edge of the gripper.

Insert one end of the plastic tube into the top of the printed gripper--it should just press in.

Step 7:

Picture of

Drill a 1/2 inch hole in the printed head through the snout (I couldn't figure out how to make the snout hole go all the way into the head when I designed it--so you have to drill about 1/2 inch of plastic).

Step 8:

Picture of

Insert the gripper into the snout.  Drill two small holes and attach the two pieces together with screws.

This will allow removal of the gripper if the balloon fails or if you want to change the amount of coffee contained.

Step 9:

Picture of

Mount a high torque servo motor to the pivot.

Step 10:

Picture of

Slide the pivot onto the acrylic tube.

Step 11:

Picture of

Mount another high torque servo motor into the drinking bird base.

Step 12:

Picture of

Attach the base to the lazy susan with 4-40 machine screws.  Attach the drinking bird supports, catapult motor holder, bearing holder (with bearing--1/4 inch ID--vxb.com) and 1/4 inch wood dowel.

Step 13:

Picture of

Screw the servo horn to the plywood "ground."  Looking through the holes in the plastic base plate, set the servo motor into the servo horn.

Step 14:

Picture of

Screw the lazy susan to the plywood "floor."

Step 15:

Picture of

Glue the vacuum motor holder to the base.

Step 16:

Picture of

Fasten the Arduino to the computer base holder.

Step 17:

Picture of

Add the motor shield and breadboard.

Step 18:

Picture of
Wire according to the schematic and install the code in the Arduino.

#include <Servo.h>

 

Servo lift;

Servo rotate;

int val=0;

int start=10;

int next=7;

int dummy=0;

const int pwmA=3;

const int brakeA=9;

const int dirA=12;

void setup()

 

{

  lift.attach(2);//lift on pin2

  rotate.attach(5);//rotate on pin 5

  pinMode(start,INPUT);//pin 10 as input

  pinMode(next,OUTPUT);//pin 7 output

  digitalWrite(next, HIGH);

  lift.write(80);//upright

  rotate.write(135);//face track

  delay (2000);

}

 

void loop()

{

  val=digitalRead(start);

  if(val==LOW)

  {dummy=1;

  lift.write(85);

  delay(100);

  lift.write(90);

  delay(100);

  lift.write(95);

  delay(100);

  lift.write(100);

  delay(100);

  lift.write(105);

  delay(100);

  lift.write(110);

  delay(100);

  lift.write(115);

  delay(100);

  lift.write(120);

  delay(100);

  lift.write(125);

  delay(100);

  lift.write(130);

  delay(100);

  lift.write(135);

  delay(100);

  lift.write(140);

  delay(100);

  lift.write(145);

  delay(100);

  lift.write(150);

  delay(100);

  lift.write(155);

  delay(100);

  lift.write(160);

  delay(100);

  lift.write(165);

  delay(100);

  lift.write(170);

  delay(100);

 

 

  pinMode(dirA,OUTPUT);

  pinMode(brakeA,OUTPUT);

  digitalWrite(dirA,LOW);//forward

  digitalWrite(brakeA,LOW);//release brake

  analogWrite(pwmA,255);//motor on max

  delay(20000);

 

  lift.write(145);

  delay(100);

  lift.write(135);

  delay(100);

  lift.write(125);//lift slightly

  delay(800);

  rotate.write(130);

  delay(100);

  rotate.write(125);

  delay(100);

  rotate.write(120);

  delay(100);

  rotate.write(115);

  delay(100);

  rotate.write(110);

  delay(100);

   rotate.write(105);

  delay(100);

  rotate.write(100);

  delay(100);

  rotate.write(95);

  delay(100);

  rotate.write(90);

  delay(100);

   rotate.write(85);

  delay(100);

  rotate.write(80);

  delay(100);

  rotate.write(75);

  delay(100);

  rotate.write(70);

  delay(100);

 rotate.write(65);

  delay(100);

  rotate.write(60);

  delay(100);

  rotate.write(55);

  delay(100);

  rotate.write(50);

  delay(100);

 

 

 

  lift.write(140);

  delay(100);

  lift.write(145);

  delay(100);

  lift.write(150);//at catapult

  delay(1000);

  analogWrite(pwmA,0);

  digitalWrite(brakeA,LOW);

  delay(3000);

  lift.write(80);

  delay(1000);//upright

 

  rotate.write(75);

  delay(200);

  rotate.write(100);

  delay(200);

  

  rotate.write(110);

  delay(200);

  rotate.write(120);

  delay(200);

  rotate.write(130);

  delay(100);

  rotate.write(135);

  delay(100);

  dummy=0;

  digitalWrite(next,LOW);

  delay(1000);

  digitalWrite(next,HIGH);

  }}

Step 19:

Picture of

Attach the computer board to the base with two 4-40 nuts.

Step 20:

Picture of

Glue eyes and a hat to the bird.

Step 21:

Picture of

He's now ready to pick up and deliver the load!

Comments

fozzy13 (author)2013-03-31

These grippers are awesome! I first read about them in Popular Science I believe, and I like how so many people on Instructables have put it to use! Great job!

MikeTheMaker (author)fozzy132013-04-01

Thank you--I wanted to share what I learned so that it would be a little easier for the next person :)

hertzgamma (author)2013-03-31

Very nice! And I see you've got lots of 3D printed parts. You must be enthusiastic!

MikeTheMaker (author)hertzgamma2013-04-01

Thank you--I am enthusiastic! With the 3D printer, imagination is given freedom from many construction limits . . .

About This Instructable

3,605views

11favorites

License:

Bio: I am an author and a maker. My current project is Santa's Shop. I'm working on a science fiction type book--more later. @EngineerRigsby
More by MikeTheMaker:Snowflake Gear WreathHappy Gear TableHappy Face
Add instructable to: