This mechanical bull was created as a weekend hobby. The creation process was simple and did not last more than two hours. The materials I already had at home. For those who wish to make an equal, will be a good opportunity to recycle materials and learn how to use the joystick shield with Arduino. Hope you enjoy.

Step 1: Materials:

- A volunteer (doll)
- Pieces of cardboard
- An empty soft drink
- Two servomotors
- A Arduino Uno
- A Joystic Shield
- Arms for the servants
- Three screws
- nuts and a washers
- Hot glue, scissors, knife, etc. ...

Step 2: Creating the Model

I used a can of soda as a model for the doll bull riding. After that, I drew on the cardboard, cut out the template and glued using hot glue.

Step 3: Joining the Servomotors

The servo motors are fixed on each other as shown, using a piece of cardboard to position them correctly and hot glue.

Step 4: Attaching the Mount

Joining small pieces of cardboard with a hole in the center, was made a bracket to hold the mount in servants.

Step 5: Joining the Servants and the Mount

I used a bolt, a nut and washer to secure the mount in servants, according to the figure.
Also used a piece to make the linking of movement between the servo arm and mount. This part should be a little slack for not hang with the movements.

Step 6: Fixing on a Base

The base was made ​​with a simple cardboard cutout. I made the design of servo arm that controls the base, cut out and pasted it on cardboard with hot glue.
I used a part of the soda can as a handle to hold the puppets up on it.

Step 7: Assembling and Programming the Controller

#include <Servo.h>  // incluindo a biblioteca dos servos

Servo SRx;

Servo SRy;

const int VRx = A0;

const int VRy = A1;

int sensorVRx = 0;      

int sensorVRy = 0;

int outputVRx = 0;

int outputVRy = 0;

long tempo_anterior= 0;

long intervalo= 100; //milisegundos

unsigned long tempo_atual;

void setup()





void loop()


  tempo_atual = millis();// o tempo atual é igual ao tempo de funcionamento do uC  

  sensorVRx   = analogRead(VRx);  

  sensorVRy   = analogRead(VRy);  

  outputVRx   = map(sensorVRx, 0, 1023, 0, 180);

  outputVRy   = map(sensorVRy, 0, 1023, 0, 180);  
  if(tempo_atual - tempo_anterior > intervalo)// se o tempo atual menos o tempo anterior for maior que o intervalo com que eu quero fazer minha acao


      tempo_anterior = tempo_atual;//tempo anterior recebe o tempo atual













hi I love it. I want to ask a question. Will u show joystick controller connections? <br>I didnt see it <br>https://www.instructables.com/files/deriv/F5A/JKD1/HDOW3SAE/F5AJKD1HDOW3SAE.LARGE.jpg <br>I have a gamepad. And ı want to use it. But I didnt use.
Oops! My mistake! I thought I had put a figure showing the connections. I connected the joystick shield as follows: <br> <br>Wires-----------Sensor Shield----------Joystick Shield <br>black wire------------ G--------------------- (gate) <br>red wire -------------- V--------------------- (5vots) <br>gray wire ------------ A0-------------------- (X axis) <br>orange wire --------- A1-------------------- (Y axis) <br> <br>As soon as I can, I get a better picture.
This is great! I hope to build something similar for my &quot;Froggy World&quot; amusement park--of course I'll credit you for the concept. <br>I like the fact that you used cardboard--it's a great material for models and prototypes; and actually holds up fairly well.
Thank you! I love using cardboard because it is easy and inexpensive. Your playground is getting very good too. I'm watching. I am proud to know that you're gonna build a toy with the concept that I created. Then show us.
lol, that is a fun lil' project.
Nifty idea! well done <br>

About This Instructable




More by PeckLauros:El Chapulin Colorado Custom  Stranger Bits Ping Pong Larson Scanner 
Add instructable to: