Introduction: 8 X 8 LED Pong With Arduino

Picture of 8 X 8 LED Pong With Arduino

By Justin Ou, Creative Technologist (Intern)

This Classic Pong game was created using an Arduino connected to an 8x8 LED matrix. The pong paddles are controlled using a joystick and the game ends when the ball goes past a player’s paddle. As a challenge, the ball increases speed each time a paddle is hit. Restart the game by resetting the Arduino board.

The hardware is setup by following a tutorial on the official Arduino website at http://www.arduino.cc/en/Tutorial/RowColumnScanni...

Step 1: Purchase Materials

Materials needed:

1x 8x8 LED Matrix

1x Arduino UNO

1x Breadboard

2x Joystick

30x Hook-up wires

Step 2: Set Up the Hardware by Following the Circuit Diagram

Picture of Set Up the Hardware by Following the Circuit Diagram

Connect the hook-up wires to the Arduino pins according the diagram. Instead of potentiometers, you may follow the same wiring configuration to connect the 2 joysticks to the Arduino. Ensure that the wiring are secured to the breadboard.

Step 3: Notes on LED Matrix

Picture of Notes on LED Matrix

An LED Matrix consists of rows of common anodes and columns of common cathodes or vice versa. The pins of the LED matrix are connected to the Arduino or other micro-controllers to set the a row or column to high or low. Consider the schematic above.

With reference the the diagram above, a column must be set to HIGH to turn all any LED in the column. However, an individual LED in the row must be set to LOW to turn it on.

For example, to turn on LEDs in Column 1, set Pin 13 to HIGH and all rows to LOW. To turn on LEDs in Column 1 on Rows 3 and 4, set Pin 13 to HIGH, Pin 8 and 12 to LOW and other rows to HIGH.

Step 4: Upload the Pong Sketch and Test the Game

Picture of Upload the Pong Sketch and Test the Game

Access the code

The game should start immediately when the sketch is uploaded. You may control the paddles using the joystick. If the LEDs do not light up correctly, you may try to replace the array of pin numbers for the columns and rows.

Replace lines 3-9 with the following code.

// 2-dimensional array of row pin numbers:

const int row[8] = {

2,7,19,5,13,18,12,16 };

// 2-dimensional array of column pin numbers:

const int col[8] = {

6,11,10,3,17,4,8,9 };

Note: If the LEDs still do not light up correctly, you have to find the correct configuration for the array of rows and columns pin numbers. Do this by removing the wires between the LED matrix and adding it back one at a time. Record the pin numbers appropriately for the LEDs that light up.

Step 5: (Optional) Play Against AI Opponent

Open the sketch in Arduino and go to line 39.

Replace it with the following code:

boolean multiplayer = false;

Upload the sketch again and you may now play against an AI.

Comments

MadMan787 (author)2016-12-19

Hey anyway you can reupload the code?

Kostas Sarioglou (author)2016-06-05

the download link is down please re upload the code

Ploopy (author)2015-07-25

Cool!

wb9688 (author)2015-06-03

Cool! I'm going to make that!

About This Instructable

9,684views

24favorites

License:

Bio: #Innovation #Technology R&D lab of the the world's fastest-growing #media agency. #Creative makers working from a secret location in SG. #leanintochange
Add instructable to: