Pacman on LED Matrix

A simple Pacman game running on a 32x32 RGB LED Matrix

Source Code Link: https://github.com/andrade824/Pacman-Game-on-LED-Matrix

This project is exactly what it sounds like: a fully-runnable Pacman game on a large LED matrix. The 32x32 LED matrix is being driven by a TI Tiva C Launchpad (ARM Cortex-M4) board over a parallel bus. The display doesn’t have any method of displaying more than red, green, and blue colors by default. To get around this limitation, a binary-coded modulation algorithm was implemented to display up to 7-bits of color information for each of the red, green, and blue channels (over 2,097,152 colors total). To learn more about how that algorithm works and to view the source code, visit the GitHub page linked to above.

Features
  • Uses a TI Tiva C Launchpad (ARM Cortex-M4) with firmware written in TI Code Composer
  • Fully interrupt-driven LED Matrix driver code
  • 7-bits of depth for each color channel (providing over 2,097,152 color combinations)
  • Screen refreshing at a constant 100Hz (eliminating flicker and screen tearing)
  • Simple drawing library implemented for displaying lines, pixels, and “maps” (arrays of pixels)
  • Controllable over Bluetooth from an Android smartphone (using a Bluetooth terminal app)
  • New maps can easily be created by modifying a couple of arrays (stored in flash)
  • Trivial to implement other games (like snake or space invaders) with the available drawing functions

Implementation Details

The LED Matrix is the RGB LED Panel from sparkfun and is driven fast enough to be able to display 7-bits of color information per color (R, G, and B).

The microcontroller used to drive the LED matrix is a TI Tiva C launchpad board containing a TM4C123GH6PM chip. This chip can run up to 80MHz which is enough to drive the matrix as well as perform game logic.

Currently, the Pacman character is controlled over the UART. You can either connect it to your computer through a USB to UART converter, or by attaching a bluetooth wireless UART (like any common HC-05 module) and connect to your computer over bluetooth. You move around using the "w", "a", "s", and "d" characters. "w" is up, "a" is left, "s" is down, and "d" is right. Your goal, as in the original pacman game, is to collect as many pellets as you can before a ghost catches you.

To understand how the display is driven to show hundreds of different colors as well as to see the source code go to the GitHub repository at https://github.com/andrade824/Pacman-Game-on-LED-Matrix

Early demonstration of the working LED Matrix

Beginning of the Pacman map and the Pacman character (the yellow dot)