The Yu-Gi-Oh Project (repost)

4 minute read

Published:

This is the most interesting project I had ever done! Inspired by the Japanese anime: “Yu-Gi-Oh! Trading Card Game”, I was lucky to have a group of three working it in May, 2015. This is a comprehensive project that includes mechanical 3-axis arm design, electrical circuit layout, firmware/software programming, and even handcrafting skills! Moreover, all considerations are depended on limited budget. It turns out to be the craziest class project ever, but not works as a popular K12 STEM education demo at all, alias! In the following, I briefly introduce several components of this platform. First, the cardboard platform stands as our battle field. It consists of thousands of dual-light LEDs, making the whole fantasy scene alive. Second, in order to control those LEDs, it spent us countless nights on welding and testing over and over again. You should consider alternatives if you want to approach this idea. Third, this battle game is automatic, so that it even comes with a home-made arm to serve you. We design a delicate 3 axis arm, which can go around any point within the battle field to help you move your warriors. Finally, it must relies on arduino for system control and cooperated with scratch GUI interface.

Cardboard Platform

After figuring out an rough idea of over system design, platform with 13x19 grids must have basement for LEDs installation. The battle field basically is placed and locked by four columns onto the flat board. By do so, all the dimensions are measured for proper scale, and the grids are made from paper strips with crossing placement. On top of that, transparent plastic board provides fancy filtering, where the characters can stand upon.

cardboard platform
cardboard platform

LEDs matrix

This is the most interesting part. Since the battle game requires the indication of territories each character has taken, and it also gives some special rules about how to occupy them. We come up with the idea that why not using two-color LEDs to represent two different opponents’ territories on each node? It is the idea that takes us hundreds of hours to welding. Let’s do a simple calculation. There are 13 times 19 nodes, which is 247. And each node has three wires including red, blue, and neutral wire. Only for the LED wiring, they are in total of 741. Also, in order to handle the whole battle filed, we have to segment it into 8 regions, and each of them is controlled by a MAX7221 IC chip. Finally, a central circuit board connected them all together toward Arduino. Needless to say, there must be more than one thousand wiring for LED. Don’t forget three labors make mistakes too! It’s extremely frustrated every time when you can’t find out the wrong wiring out of this giant master. I’m glad to see that the testing looks great!

LEDs matrix (front 1)
LEDs matrix (front 1)
LEDs matrix (front 2)
LEDs matrix (front 2)
LEDs matrix (back)
LEDs matrix (back)

IMAGE ALT TEXT

Robotic Arm

This robotic arm performs the locate-catch-move sequence of operation to remove the control from human entirely. This arm has three free dimensions, which designed for moving characters from/to any node of the battle field. The first dimension is simply driven by module track. The second dimension takes lot of design effort. Since we are not mechanical engineering student, we have to brainstorm a lot and do trial and error. The mechanism works like the following:

the arm
the arm

System overview

The system overview is depicted by the following diagram.

system overview
system overview

Application:

The Scratch program works as the interface for child to play this battle game.

We use scratchbot which allows Arduino hardware I/O control.

UNO Arduino:

UNO Arduino controls the relay component in order to trigger signals for LED matrix.

Relay component separates two sub-circuit systems with different voltages to prevent from damage.

Mega Arduino:

Mega Arduino processes the final control signal and send to LED matrix control circuit.

Mega Arduino also controls the robotic arm consists of three motors with shield power protection.

LED matrix control circuit:

This customized circuit distributes certain signal pattern into physically layout to present the territories of two players on the filed.

Robotic arm:

It receives control signals from Mega Arduino to perform character relocation operation as moving action.