SEARCH
TOOLBOX
modified on 8 June 2009 at 04:31

Phase 10 Score Keeper

From neurotica.com

Jump to: navigation, search

Awhile back, someone got me hooked on a card game called Phase 10. (me, cards? yeah I was surprised too) It's simple and lots of fun. It is a derivative of Rummy but it's played with special cards. Wanting to impress that person with my technical prowess, I threw together this little project over a weekend. It's basically a little board with a microcontroller, a VF display and some pushbuttons that automates the scorekeeping of a Phase 10 game. She absolutely loved it, and we used it all the time. I finished it in the first week of November, 2007.


While Phase 10 supports up to four players, this unit handles only two players due to lack of room on the display module. I hope to design and construct a follow-on unit which will use a display with smaller characters but more character cells, so it can support up to four players. This two-player unit was fine at the time, since she and I were usually the only players, and the larger character cells in this display were easily readable by tired eyes at midnight. :)


One interesting thing about the design is that it has an "undo" feature in its firmware. If you hit a button to add a card to a player's score and you make a mistake, pressing down and holding the same button for more than one second will undo that action when the button is released. This is also handy for tired eyes at midnight.


It's built around a classic 8751 microcontroller clocked at 11.0592MHz. It's an 8-bit processor that has 4KB of EPROM and 128 bytes of RAM on-chip, and it's visible in the center of the board in the photos below. Since it has an on-chip clock oscillator and reset controller, this microcontroller typically requires very little external support circuitry when used in a simple application like this. The display is a gorgeous, high-contrast Noritake 1x20 character vacuum-fluorescent unit with on-board HV generation and refresh circuitry. There is no chassis per se; I opted for simple construction by sandwiching the wiring between two pieces of standard perfboard. This leaves the component side visible for "ooh, ahh" factor. The firmware is written in C (using the SDCC compiler) and consists of only 565 lines of code. The firmware itself is written to handle more than two players, so only minimal changes (other than display control code) will be required for any follow-on designs.


The display contrast is much better than is visible in the photos; the camera flash washed it out a bit.


Photos