From Discovering Computer Science

Pong: Pong

Arduino Pong



Milestones


Session 1:

Hardware Assembly

VideosText FilesSource File
Pong AssemblyN/AN/A

In this session, we introduce the DF Robot Input Shield, the Liquidware Extender Shield, and the Adafruit 2.8" LCD Touchscreen and explain how to properly assemble them.



Session 2:

Getting the LCD Touchscreen Working

VideosText FilesSource File
LCD Touchscreen TutorialN/AN/A

LCD Libraries
In session 2, you will be importing the necessary libraries needed to operate the LCD Touchscreen. Then you will run a simple graphics program to make sure that you have done everything right.



Session 3:

Adafruit Graphics Library Functions

VideosText FilesSource File
Pong GraphicsN/AGraphics_Pong

In session 3, we run through some basic functions included in the Adafruit graphics libraries that will allow us to draw some basic shapes needed for our game of pong.



Session 4:

Input Shield Set up & Learning The Serial Interface

VideosText FilesSource File
N/AInput Shield TutorialSender/Reciever

In Session 4, we run through how to properly connect your Input Shield and how to utilize the serial interface to communicate between two Arduino Microcontrollers to create the input needed for a single player game of pong.



Session 5:

Creating The Computer Player

VideosText FilesSource File
N/AComputer Player HelpN/A

In Session 5, now that you have implemented functionality to move your pong paddle using the analog stick, implement the same redrawing technique to create an A.I. opponent that controls the other paddle.

Session 6:

Creating The Ball Collisions

VideosText FilesSource File
N/AMaking Ball-Paddle CollisionsN/A

In session 6, you will create a set of functions that will handle collisions of the paddles and borders as well as a function to handle the ball going out of bounds.



Session 7:

Complete The Pong Single Player Game and Interface

VideosText FilesSource File
Complete Pong GameInterface RequirementsN/A

In session 7, you will complete the single player version of pong and create a basic user interface as well as implement score keeping through modifications of functions you already wrote.



Session 8:

Revisiting Your Input Shield Sending/Recieving Code For 2 Player Mode

VideosText FilesSource File
N/ASerial Interface ModificationN/A

In session 8, you will go back to the sketches you created for sending/receiving input from the input shield and modify the code to send/receive signals from the up/down push buttons. Once completed, you will implement this new version of your code into your game of pong replacing your old input receiving function.



Session 9:

Modify Your Interface and Code To Allow Single or Two Player Mode

VideosText FilesSource File
N/ATwo-Player ModificationsN/A

In session 9, you will modify your completed game to integrate both single player and two player modes and adjust your interface accordingly.



The Following Sessions Require a Minimum of Two Weeks To Complete

These Are Mandatory Only For Groups Who Have Finished The Base Project and Have Two Weeks Left



Session 10:

Replacing The Input Shield With An Accelerometer

VideosText FilesSource File
N/AADXL362 WiringWiring Schematic

In session 10, you will be shown how to properly wire the accelerometer using a step down voltage converter. This accelerometer will control the movement of the paddle.



Session 11:

Serial Interface With The Accelerometer

VideosText FilesSource File
N/ASerial Interface GuideN/A

In session 11, you will create two sketches to send and receive input using the accelerometer similar to the sketches written in session 4.



Session 12:

Modifying Your Interface Using The Touchscreen

VideosText FilesSource File
N/AN/AN/A

In session 12, we go over the touchscreen library functions and implement them to modify our interface to navigate without the use of the input shield.



Session 13:

Moving The Paddle With The Accelerometer

VideosText FilesSource File
N/AN/AN/A

In session 13, implement our code from session 11 into the pong game itself and use the accelerometer readings to move our paddle.



Retrieved from http://pages.cs.wisc.edu/~karu/DiscoveringCS/wiki/index.php?n=Pong.Pong
Page last modified on March 27, 2014, at 05:47 PM