I made a poker table with RGB LEDs at each seat. They sit underneath white polycarbonate such that the light is diffused across the whole section. The LEDs are on a strip, but they are digitally addressable. That way, each of the 96 individual lamps can be controlled using only two output pins of a microcontroller. I used the Arduino UNO R3 along with the ethernet shield for this project. With the ethernet shield, I was able to make a web app to control the table. I originally wired up some switches and potentiometers to control the lights, but the web app turned out to be far more intuitive. Also, I chose to do a web app over a mobile app or desktop application for its cross platform nature. The programming is executed on three different levels.
Finally, all the Arduino has to do is take the message it received from the web page and adjust the lights accordingly. The controller itself sits in a small, HTPC case under the table top. Using the computer case was convenient. It provided an enclosure, 12V power supply for the controller, 5V power supply for the logic and lights, a small speaker to play with, and USB ports on the front to wire as chargers. The extra room in the enclosure was nice for prototyping too. All the circuitry is still connected with a solderless breadboard. It’s not the ideal configuration, but I didn’t know for sure if everything was going to work right for the get-go.
If I ever made another table, I would make all the electronics more compact. It would be very cool to get a custom PCB for microcontroller and all the external circuitry together. Also, embedding the web server on a Raspberry Pi inside the table would be helpful. In addition, I would have to change the design for some of the carpentry. I had never made anything this complex, and finer details did not come out quite like I had hoped. New brackets to join the boards between the polycarbonate and felt would one of the necessary changes. Pictures can be found at jrtrzeciak.wordpress.com and the code at https://github.com/jrtrzeciak/pokerTable.