PROJECT: Speed Test Game

General description:

Speed test game consists of four non-latching colored light buttons and a four-digit 7-segment display installed in a box along with display and controller PCBs. Controller board has a buzzer to generate sound  signals.

There are three modes of play: Easy Speed Test, Hard Speed Test and a Memory Game. If none of these modes is selected, game will be in demo mode. Red button will activate the display of high scores and the other three select the modes of game.

Each mode of operation and the associated states of the software will be described separately.

Player shall try to press the buttons in correct sequence after game lights them up in random sequence. Player may lag behind by maximum of 10 light flashes after the last light.

Game starts with approximately 1s delay between the light in Easy Speed test mode. Delay decreases along with increasing number of presses and game ends if the sequence becomes incorrect or maximum lag is reached.

Hard Speed test mode is similar to Easy Speed test but starts directly from 100 points (presses) with corresponding (shorter) initial delay.

Game permanently stores the high scores both for speed test and memory game.

Software is implemented using a PIC18F442 microcontroller. 4- digit 7-segment display is driven by SAA1064 which communicates via an I2C bus with the microcontroller.

Unit uses external 12VDC supply for operation.

Function description:

Hardware:

Software:

Module

Function

main.c           

Main program, state machine

delays.c

delay routines

i2c.c

i2c initialization and write routines

saa1064.c

7- segment driver i2c software interface

 

Module

Function

i2c.h

i2c header

delays.h

delays header

saa1064.h saa1064 driver header
   

Documents:

Schematic- controller

Schematic- display

PCB

Layout

Functional description (In progress)

 

1
2
3
4