Froggy World a 3D Printing Project

by MikeTheMaker in Workshop > 3D Printing

2014 Views, 4 Favorites, 0 Comments

Froggy World a 3D Printing Project

froggy 3d07.jpg


This is it--Froggy World (the amusement park for adventurous plastic frogs) is up and running.  We have been accepted in the 2013 San Mateo Maker Faire and you can see us live there!

The frog gets thrown from the catapult, booted down the belt, seesawed into the train, ridden around the park, slammed to a stop, then gripped and returned to the catapult.

I've been making adjustments and adding pieces to improve operation--and this instructable will explain those things.

To see all the component projects:

https://www.instructables.com/tag/type-id/?sort=none&q=froggy+world
 

schematic1.jpg
The train (Froggy World 4) needed an additional stop arm and stop sensor (and software) to stop for the bird pickup.

Here's the code:

#include <Servo.h>

 

Servo gate;

Servo bird;

int start=10;

int next=7;

int dummy=0;

int train=5;

int arrival=1;

int val=0;

int val2=0;

int birdin=9;

int birdout=8;

int birdmagnet=4;

int val3=5;

 

void setup()

{gate.attach (3);

bird.attach (2);

pinMode (next, OUTPUT);

pinMode (start, INPUT);

pinMode(arrival, INPUT);

pinMode (train, OUTPUT);

pinMode(birdin, INPUT);

pinMode(birdout, OUTPUT);

pinMode(birdmagnet, INPUT);

digitalWrite (next, HIGH);

digitalWrite (train, LOW);

digitalWrite (birdout, HIGH);

gate.write(130);

bird.write(170);

delay(1000);

}

 

void loop()

 

{val=digitalRead(start);

if(val==LOW or dummy==1)

{

  gate.write(45);

  bird.write(85);

 

  delay (500);

  digitalWrite(train,HIGH);

//if(dummy=0)

delay(5000);

dummy=2;}

 

else

{val2=digitalRead(birdmagnet);

if(val2==LOW)

{delay(1025);//delay from magnet to bird gate

  digitalWrite (train, LOW);

bird.write(165);

val2=0;

dummy=0;

val=0;

delay(500);

 

digitalWrite (birdout, LOW);//start bird pickup

delay (500);

digitalWrite (birdout, HIGH);}

 

else

{val3=digitalRead(birdin);

if(val3==LOW or dummy==5)//signal that bird is done

{

  gate.write(45);

  bird.write(85);

 

 

  digitalWrite(train,HIGH);

dummy=5;

 

 

 

 

val2=digitalRead(arrival);

if(val2==LOW)

//{delay(100);//delay from magnet to main gate

  {digitalWrite (train, LOW);

gate.write(130);

val2=0;

dummy=0;

val=0;

digitalWrite (next, LOW);

delay (500);

digitalWrite (next, HIGH);

 

}}}}}

froggy 3d04.jpg
froggy 3d02.jpg
I had to add a backstop and block to control where the frog lands when he leaves the seesaw.  I also added a couple of "wings" (3d printing raft) to the end of the seesaw to keep the frog from escaping.

3D design and print files are available at:

http://www.thingiverse.com/thing:70140

froggy 3d06.jpg
I added a bar at the bottom of the stop gate to reduce the chance of the engine "jumping" and derailing.

froggy 3d05.jpg
I changed the coupling between the small train engine and first car to reduce jumping problems on the train seesaw.

froggy 3d10.jpg
My wife felt that it would not be right to get into an amusement park without waiting for tickets!

froggy 3d11.jpg
froggy 3d12.jpg
The base evolved from plywood--to blue--to ocean color--to its current "swamp theme."

froggy 3d09.jpg
Overall, this has involved 3D printing, Arduino, electronics, design, oven-baked clay and art. 

Thanks for stopping by Froggy World :)