Super Scrabble Timer and Scorekeeper Gaurav Singal Nathan Hale Andrew DiMichele Vishal Govil Hubert Lin Embedded Systems Design Professor Edwards May 10, 2005Table of Contents PROJECT OVERVIEW................................................................................................................................... 3 INTERFACE DESIGN .................................................................................................................................... 4 Power:................................................................................................................................................... 4 Number of Players:............................................................................................................................... 4 Entering Player Names:........................................................................................................................ 4 Entering Time:...................................................................................................................................... 5 Playing the game:................................................................................................................................. 5 Entering a score:................................................................................................................................... 5 Adjusting player score:......................................................................................................................... 5 Stoppage of Play:.................................................................................................................................. 6 GUI: LCD.................................................................................................................................................. 6 SOFTWARE ARCHITECTURE........................................................................................................................ 7 HARDWARE ARCHITECTURE..................................................................................................................... 10 DIVISION OF LABOR ................................................................................................................................. 13 LESSONS LEARNED/ADVICE FOR FUTURE ................................................................................................ 13 APPENDIX: CODE LISTING ........................................................................................................................ 15 capturetest.h........................................................................................................................................ 15 capturetest.c........................................................................................................................................ 16 keypad.h.............................................................................................................................................. 30 keypad.c .............................................................................................................................................. 31 mylcd.h................................................................................................................................................ 32 mylcd.c................................................................................................................................................ 33 scrabblelcd.h....................................................................................................................................... 36 scrabblelcd.c....................................................................................................................................... 37Project Overview Our project, the Super Scrabble Timer and Scorekeeper presents an interesting challenge for the scope of Embedded Systems Design. The idea for the project was presented by an actual client interested in marketing this handheld device to the makers of Super Scrabble (Hasbro and Mattel), and eventually making the product available for purchase by consumers. Accordingly, this handheld device had many requirements – it had to operate on batteries, be inexpensive to mass-produce, be user-friendly and intuitive, and be entirely self-contained. The project’s challenges then became many-fold, and involved considerations of power-consumption, cost, user-interface design, and balancing client satisfaction with feasible implementation. Actual implementation challenges would include physical construction and size constraints as well as limitations imposed by batteries and the mobile nature of the device. The final device is a black plastic box, measuring 23.7cm x 13.5cm. The box was machined to include a 40x4 character LCD display for user input/display, a keypad matrix used to enter letters and numbers, and an array of buttons used to interface the user with the various functions of the timer and score keeper. The device operates on 4 AA batteries and has a knob to adjust the contrast of the display (to compensate for dropping power levels as the batteries get depleted).Figure 1: Final Device Interface Design Power: 1. Slide the power switch on the right side of the box to the ON position. Contrast: 1. Turn the knob on the left side of the box to lighten or darken the screen. Number of Players: 1. After turning on the machine, the screen will prompt you for the number of players. 2. Press a number on the keypad between 2 and 4. Entering Player Names: 1. Use the keypad to enter a 3-letter name for each player 2. For each button on the keypad that can enter a letter, press it once for the first letter, a second time for the second letter, a third time for the third letter, and if possible, a fourth time for the fourth letter.3. Press the ENTER button on the keypad move the cursor over one space. Use the Backspace button to correct errors. 4. Press a player button to move the cursor to a player’s portion of the screen or press the ENTER button after having entered three letters to a player’s name to move to the next player (i.e. from player 1 to player 2). Entering Time: 1. If you wish for there to be no time limit for any player, press the BYPASS button after entering player names. If during normal play you decide to remove time limits you can press the BYPASS button as well. 2. Press the TIME button to begin entering time
View Full Document