UVU Computer Science Senior Design Project: Spring 2011
In this project the student (That's me Sushiboy) will demonstrate the skills that encompass the material taught in the Utah Valley University Computer Science: Computer Engineering Bachelor of Science degree; including microcontroller architecture, digital design, software design, hardware software interfacing, serial data communication, analog and digital signal processing and embedded system design.
This project consists of designing and building a portable video game system with off the shelf electronic components. The end product will allow a user to play a simple game of Pac-Man on the hardware. The goal of this product is to have a portable device that will generate interest in the students ability and entice young students to learn more about the Computer Science Department at UVU. The student would also like garner support for a full fledged Computer Engineering Degree at UVU.
Overall System Design
The Pac-Man on the Go device will consists of several components: a microprocessor, Color LCD, Battery, Accelerometer (for motion control) and USB game pad will combine to create a suitable gaming platform. The student will need to find a way to interface all of these hardware components together in a stable system environment. If the student has time, a simple speaker will be added to the project.
Pac-Man on the Go will also need to be composed of several modules of software running on the microcontroller, a boot-loader (to load hardware drivers), simple file system, and a video game will all need to be programmed for the device to behave as intended. Some things like the boot-loader and file system are available with a GNU license and, with modification, should serve the purpose of the system. Much software will need to be coded from scratch.
This blog is a work in progress. The student expects that some methods will fail as designed, and will need to be re-worked and re-designed, maybe up to several times. This blog may detail several ways of doing things that, frankly, may not work. The student is using this blog as a tool to compile documentation on the project. Since this is an academic project the user can expect failures as well as successful techniques to be presented. If the reader decides to implement any method described in this blog, the reader does so at his or her own risk. The reader is highly encouraged to ensure that any method they wish to emulate is the final method used by the student, and that the method works in the project, these working examples should be clearly marked.
- LPC2418 ARM7 (MicroController)
- Nokia 6100 Color LCD (knock off)
- Polymer Lithium Ion Battery
- USB Gamepad
- Speaker (possibly)
- ARM Programmer/JTAG Device