• If you are citizen of an European Union member nation, you may not use this service unless you are at least 16 years old.

  • Get control of your email attachments. Connect all your Gmail accounts and in less than 2 minutes, Dokkio will automatically organize your file attachments. You can also connect Dokkio to Drive, Dropbox, and Slack. Sign up for free.


WeldCunha_Final Project

Page history last edited by Weld Lucas Cunha 6 years, 11 months ago

                                   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.



           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!!! 


Comments (1)

kdade said

at 9:37 pm on Aug 19, 2013

Dear Weld,

We loved your project demo, and your report is clear and thorough. It is very easy to follow your explanation of the different parts in your project, and it is great that you show the button circuit both as a breadboard prototype and soldered onto perfboard. Your screenshots of the games also show clearly the look and feel of the program, and we would love to see a video to demonstrate a user interacting with each game via the controller you made.

We also wish you had included a state diagram and a Verplank diagram. Though these may seem trivial for this project, especially since you are just making a controller for a game, Verplank diagrams often help with interaction design. For instance, if you think that a steering wheel is a good metaphor for a game controller, then from this metaphor you can build your physical design.

We are really glad to see that you had so much fun working on your own project, and you should be really proud that you have made your own game and controller!

Kevin, David, Jessica, Matt, Vivien

P.S. We apologize for the outrage, and promise to improve at playing your game!

You don't have permission to comment on this page.