SudokuEHG Michelle Brown Matt Haggenmiller Thomas Troch CE Design Projects Design Review December 12, 2007
Outline SudokuEHG functionality User Interface Instruction Technical Details –Input (keypad) –Output (LCD) –Control (microcontroller) Testing Strategies –Hardware –Software Cost Analysis Feasibility
SudokuEHG Functionality Allows users to electronically play Sudoku, a logic and reasoning game via a handheld device. Features: –2 types of Sudoku games –3 difficulty levels each –Save up to 5 games –Timed play –Save current game while in progress Normal Sudoku Crazy Sudoku
User Interface Menu interface Keypads Screen Select option with number keypad Other keys are disabled Example: Main Menu
User Interface Game Interface Keypads Screen Use arrow keys to navigate grid Use number keys to enter desired # Use Erase key to erase an entered # Use Main Menu key to go to the Main Menu Enter key is disabled Note: Fixed (given) #s will be bold and unchangeable
User Instruction Play a new game 1. Power On – Main Menu, Press the 3 key to start a new game 2. Press the 1 key to chose a Normal game 3. Press the 2 key to choose the game difficulty 4. PLAY! Keypad Screen
User Instruction Game Completed: –All boxes filled Verify Puzzle Correct Stop Timer Incorrect Continue Timer
User Instruction Save Game 1. Press Main Menu key2. Press the 2 key to save current game 3. Press the 4 key to save current game to location 4 4. Back to the Main Menu
User Instruction Open Game 1. Press 2 key to open a game 2. Press the 4 key to retrieve desired game 3. Desired game opened
Technical Details Components of the System 1.Input - 2 donated keypads 2.Output - Crystalfontz LCD 3.Control - HCS12 microcontroller
Technical Details Overall Schematic Design LCD Microcontroller Number KeypadArrow Keypad
Technical Details Input - 2 Keypads Number KeypadArrows Keypad
Technical Details Output - LCD (320 X 240 pixels)
Technical Details Output - LCD (320 X 240 pixel)(Cont) Epson S1D13305 Controller 5 Control Bit & 8 Data Bits Character Generator ROM Multiple Display Mode
Technical Details Control - HCS12 Microcontroller CodeWarrior Development Tool Provides desired I/O ports (22) Port A (0-7): LCD data Port B (0-4): LCD control PWM (0-3): Output to Keypad A/D (0-4): Input from Keypad
Testing Strategies Hardware testing –Microcontroller How: flash an LED –Keypad (w/ Microcontroller) How: press button, use serial port to view status –LCD (w/ Microcontroller) How: Display “hello” –Integrate 3 main components How: press button on keypad, process using microcontroller, see effects on LCD
Testing Strategies Software Testing –Keypad interrupt handling Output to serial port if correct key was pressed –Game grids display Visual inspection –Game menus display Visual inspection –Sudoku game display Visual inspection
Testing Strategies Hardware/Software (Integration) Testing –Create a new game Create new game from menu –Save & open a game Save game into available slot, open saved game Save game into non-available slot, message should be displayed for overwrite confirmation –Open current game Insert #s on game board, power off/on, open current game
Testing Strategies HW (keypad & LCD) Testbench (tests I/O) Some testing methods SW (algorithm & state) HW (keypad & LCD) SW (algorithm & state)
Cost Analysis UnitCost ($) LCD130 Connectors & Cables 40 Microcontroller & Dev Board Free KeypadFree Total170
Feasibility LCD properly display Interfacing LCD/Micro/Keypad Have enough memory for code, saved games, game solutions
Questions, Comments, Suggestions
Additional Info: LCD Pinout
Additional Info: LCD Controller Command Set
Additional Info: LCD Controller Initialization Procedure