WeldCunha_Final Project


                                   EE 47 - Final Project Documentation - Stanford University

 

- Introduction:

     As my final project I built a controler using the Arduino Micro and some other components, and wrote a game using Processing that runs in the computer and can be played with the contoller I built.

Basically, the circuit of the controller is made just using some resistors and momentary buttons, all conected to the Arduino pins.

 

- Development:

     This project can be divided in two main parts, which are the hardware and the software that are working behind the scenes. The Hardware and the Software:

 

      * Hardware:

          The hardware is basically the components of the controller that are:

          - 2 Perfboards;

          - 1 Arduino Micro;

          - 1 USB cable;

          - 10 momentary buttons;

          - 10 KOhm resistors;

          - solder;     

          - wires;

          - acrylic;

          - glue.

          

          First, the controller circuit was built in a breadboar so it could be tested, before build it in a definitive perfboard.

 

          

                                                                                                                                                                                         Img. 1

          Pins and Functions of the 10 buttons:

          Pin: 0     Function: Enter          Button:     1 

          Pin: 1     Function: Escape       Button:     2

          Pin: 3     Function: Down         Button:     3

          Pin: 4     Function: Left            Button:     4

          Pin: 5     Function: Right          Button:     5

          Pin: 6     Function: Up             Button:     6

          Pin: 8     Function: Action        Button:     7

          Pin: 9     Function: Action        Button:     8

          Pin: 10   Function: Action        Button:     9

          Pin: 11   Function: Action        Button:     10 

 

          After tested in the breadboard, the controller circuit was moved and soldered in the perfboard. The Arduino fixed in another smaller prefboard where the wires were also soldered.

 

                

                                                                                                                                                Img. 2                                                                                                                                                                                         Img. 3

          Then all the components were attached togethers and a litle box was built around the circuit using acrylic, to protect it. 

 

          

                                                                                                                                                                                          Img. 4

          In the image above: we can check the organization of the buttons in the controller, as it was described before.

 

          

                                                                                                                                                                                          Img. 5

          And in the Img.5 we can see the controller ready.

 

     *Software:     

           The software is also divided in two parts. There are two programs: The fist one is the program that is running in the Arduino and control the controller, it was written in C. The other one was made

     using Processing and is basically the graphical interface of the game, where the user can choose, between two games, which one he wants to play. This program runs in the computer and is the part 

     responsible for the interaction with the user. The codes of the programs are long and both codes are in the same folder of this page with the respective names: "WeldCunha_Final Project_Code Controller

     Arduino" and "WeldCunha_Final Project_Code My_Game Processing".

 

          When the user starts the device, he can see this first screen:

 

          

                                                                                                                                                                                         Img. 6

          Where the user can choose between two games: "Almost Pong" and "Tube", which images can be seen below, respectively:

 

               

                                                                                                                                              Img. 7                                                                                                                                                                                         Img. 8

          It is also possible to the player restart the game every time he loses, and also leave the game and play it back at the same point he left it. It's also possible to pause and switch between the two games

     any time the user wants. And see his score each time the player loses.  

 

- Conclusion: 

         This is the end of one of the more valuable academic experience I had in my life, the oportunity to plan and build something on my own is amazing. Something that is not always possible to find  

     during our time in college, at least in most of the colleges in Brazil, where I'm from. Having the sensation to be working in "my" project is something gratifying and is what really make the students learn

     and like what they are studying and doing. This course made me learn not just how to build an mp3 player, but taught me how to learn from my mistakes, and the value of working together with my  

     partners, ask for help always then I need, to my friends, my coleagues, and the teaching team. Because we are all in the same team. I am here at Stanford just for this summer, and it was a really good

     time with you guys. Now I know why Stanford is so famous and respected all around the world. This is my last assignement here in this course, it is almost a good bye. And as I'm leaving I think I have

     to say something... but the only words that come in my mind for this ocasion are: This is an outrage!!!

         Thank you all. The people I met here, all the frieds I made, and thank you very much to this amazing teaching team I had in this course! I'll miss you guys!!!