Wednesday, 19 October 2011

Intelligent poker table without RFID

As a member of HackLlan (Llangollen's Hackspace) we're trying to get some ideas together for a show-and-tell session in November and to organise a robot kit for a weekend-workshop.
This means a few of our other projects have been sidelined, while we try to find projects that are both simple enough to explain in a few hours, but complex enough to keep people's interest for the whole day.

One project we're looking at is an intelligent poker table. You know the sort - players put their cards face down on the table and a graphic appears on-screen showing their "hole" cards. This was first seen in the UK on Channel 4's Late Night Poker, where the rather lo-tech solution was to put a camera behind a sheet of glass at every player's position.



This approach is still used in a lot of televised poker tournaments, and they are available on the 'net to buy, but you'd have to be a dedicated poker player to house a full-sized 10 seater table in your house!
A variation on this theme is to have cameras mounted in the "rail" of the poker table, which sneak a peak at each player's hand, as they bend their cards upwards to have a look at them.

For home-games, an alternative approach is becoming popular, but it still quite expensive - RFID playing cards. Each card in the deck has a tiny RFID tag, and each player has an RFID reader in front of them. As the cards as placed on the reader, the unique ID is read from each tag and the system knows which cards the player holds.
This is infinitely simpler than having up to ten webcams under a table, but RFID tags are expensive. Each tag costs 50p-£1 and a professionally made deck of cards costs £100 or more. You can make your own cards, by simply applying an RFID label to each playing card, but this increases the thickness of the deck significantly and the labels are still susceptible to breaking if players bend the cards too much.

We're after a much more low-tech (i.e. cheaper solution) that should be accessible to almost anyone.
One of the ideas we're investigating is a colour sensing circuit and a 2x2 grid of colour, unique to each card.


The idea is to have an RGB LED and a light sensor (either an LDR or something like a light-to-voltage sensor) under an opening onto which the card is placed. By flashing the LED red, then measuring the amount of reflected light, then green, then blue, should allow us to work out which combination of colours is showing.

At the minute it's all just a fancy idea - but hopefully this week we'll find time to put together a proof-of-concept prototype to see if it's feasible to continue.