Introduction: Cardboard Arduino Dueldisk

This was for my Robotics class I'm taking at university. We were taught how to use Arduinos and were told to create something. I got back into playing Yu-Gi-Oh! this semester and I thought it would be cool to create a duel disk like in the show by using an Arduino and some cardboard.

This is my first Instructable so it won't be that good and measurements will not be provided because I measured by spacing out sleeved Yu-Gi-Oh cards and so you can (if you want to recreate this) make it more personal and/or better than we have.

Step 1: Step 1: Plan Things Out

My partner and I used graph paper to gauge how big this was going to be and where things are going to go. We drew around the cards and gave them a bit of a border. The paper is going to be used to cut out the cardboard.

Step 2: Step 2: Cutting and Gluing SOME Pieces

For our project we used cardboard as it was inexpensive (salvaged an Amazon box) and we used a box-cutter to cut the pieces. You want to cut 2-3 of the same piece and then glue them together because 1 layer of cardboard is incredibly flimsy. We do not want to assemble the duel-disk yet.

Step 3: Step 3: the Arduino

Now would be a great time to wire and code the Arduino. Here we have a wiring diagram and the code (in a zipped folder, you will probably need the Arduino IDE from Arduino's website) for it as well. Feel free to modify either to fit your needs or if you think it is inefficient and/or ugly.

#include 
#define STEPS_PER_MOTOR_REVOLUTION 32   
#define STEPS_PER_OUTPUT_REVOLUTION 32 * 64  //2048  
Stepper small_stepper(STEPS_PER_MOTOR_REVOLUTION, 8, 10, 9, 11);
const int SW_pin = 2; // digital pin connected to switch output
const int X_pin = 0; // analog pin connected to X output
const int Y_pin = 1; // analog pin connected to Y output
const int  stepsIn = -60;
const int stepsOut = 60;
int check = 350;
void setup() 
{
  pinMode(SW_pin, INPUT);
  digitalWrite(SW_pin, HIGH);
  small_stepper.setSpeed(1000);
  Serial.begin(9600);
}
void loop() 
{
  while(check <= 500 && check >= 300)
  {
    check = analogRead(X_pin);
  }
  if(check > 500)
  {
    out();
    check = analogRead(X_pin);
  }
  else if (check < 300)
  {
    in();
    check = analogRead(X_pin);
  }
}
void in ()
{Serial.print(check);
  Serial.print("in");
  small_stepper.step(stepsIn);small_stepper.step(stepsIn);small_stepper.step(stepsIn);small_stepper.step(stepsIn);small_stepper.step(stepsIn);small_stepper.step(stepsIn);small_stepper.step(stepsIn);
  small_stepper.step(stepsIn);small_stepper.step(stepsIn);small_stepper.step(stepsIn);small_stepper.step(stepsIn);small_stepper.step(stepsIn);small_stepper.step(stepsIn);small_stepper.step(stepsIn);
  small_stepper.step(stepsIn);small_stepper.step(stepsIn);small_stepper.step(stepsIn);small_stepper.step(stepsIn);small_stepper.step(stepsIn);small_stepper.step(stepsIn);
  small_stepper.step(stepsIn);small_stepper.step(stepsIn);small_stepper.step(stepsIn);small_stepper.step(stepsIn);small_stepper.step(stepsIn);small_stepper.step(stepsIn);small_stepper.step(stepsIn);
  small_stepper.step(stepsIn);small_stepper.step(stepsIn);small_stepper.step(stepsIn);small_stepper.step(stepsIn);small_stepper.step(stepsIn);small_stepper.step(stepsIn);
  small_stepper.step(stepsIn);small_stepper.step(stepsIn);small_stepper.step(stepsIn);small_stepper.step(stepsIn);small_stepper.step(stepsIn);small_stepper.step(stepsIn);
  digitalWrite(8,LOW);
  digitalWrite(9,LOW);
  digitalWrite(10,LOW);
  digitalWrite(11,LOW); // releasing the motor
}
void out()
{Serial.print(check);
  Serial.print("out");
  small_stepper.step(stepsOut);small_stepper.step(stepsOut);small_stepper.step(stepsOut);small_stepper.step(stepsOut);small_stepper.step(stepsOut);small_stepper.step(stepsOut);
  small_stepper.step(stepsOut);small_stepper.step(stepsOut);small_stepper.step(stepsOut);small_stepper.step(stepsOut);
  small_stepper.step(stepsOut);small_stepper.step(stepsOut);small_stepper.step(stepsOut);small_stepper.step(stepsOut);small_stepper.step(stepsOut);small_stepper.step(stepsOut);small_stepper.step(stepsOut);small_stepper.step(stepsOut);
  small_stepper.step(stepsOut);small_stepper.step(stepsOut);small_stepper.step(stepsOut);small_stepper.step(stepsOut);small_stepper.step(stepsOut);small_stepper.step(stepsOut);small_stepper.step(stepsOut);
  small_stepper.step(stepsOut);small_stepper.step(stepsOut);small_stepper.step(stepsOut);
  small_stepper.step(stepsOut);small_stepper.step(stepsOut);small_stepper.step(stepsOut);small_stepper.step(stepsOut);small_stepper.step(stepsOut);small_stepper.step(stepsOut);small_stepper.step(stepsOut);small_stepper.step(stepsOut);small_stepper.step(stepsOut);small_stepper.step(stepsOut);small_stepper.step(stepsOut);small_stepper.step(stepsOut);small_stepper.step(stepsOut);small_stepper.step(stepsOut);
  small_stepper.step(stepsOut);small_stepper.step(stepsOut);small_stepper.step(stepsOut);small_stepper.step(stepsOut);small_stepper.step(stepsOut);small_stepper.step(stepsOut);
  digitalWrite(8,LOW);
  digitalWrite(9,LOW);
  digitalWrite(10,LOW);
  digitalWrite(11,LOW);  // releasing the motor
}

Step 4: Step 4: the Mechanism

Our plan for this was to use a gear and gear rack that will spin and extend the duel disk. we had to make a guide rail-like apparatus by cutting channels in the cardboard and using little ends of hot glue sticks as the columns for it.The gear and gear rack were printed at the 3D printing lab we have on campus. We googled the files we needed for 3D printing the gear/gear rack apparatus and here is the link for it: https://www.thingiverse.com/thing:2072364.

Step 5: Step 5: Assembling and Fine Tuning

You can now assemble the contraption, I do not recommend gluing it completely up because if you need to make adjustments it it easier if you can access the parts. When we assembled this we realized that the part the extended was unbalanced so we glued an bottle cap to it. We also had to make adjustments to the so that when the gears spun the arm extended straight and didn't tilt to one side. From here you can add whatever you want to it. You can add LEDs for some cool effects or you can add NFC tags to the cards and perhaps a speaker for sound effects or a Raspberry Pi and a display for some cool images or animations.

NOTE: Ours didn't work in the end due to imperfections in the building materials. Who would've guessed that cardboard isn't the best building material and that a box cutter isn't the most precise tool in the world. Better materials would make a better duel disk, I would recommend 3D printing all the parts and it should be fine.