Inspiration

We're all big fans of the card game Uno and, throughout the pandemic, we've had many virtual game nights in an effort to keep in touch and stay sane. Albeit, there's many wonderful virtual versions of games that engage us, sometimes we just wanted to play a game in real life! The experience just isn't beatable. That's where the inspiration came for our project. We decided to build a machine that will play Uno against you in person so you're able to take a break from the screen and enjoy a good old-fashioned card game.

What It Does

The machine acts as a player in a game of Uno. The user plays a card which a camera detects and identifies using OpenCV image recognition. There is code written in Python to decide the responding move which is sent to the machine. The machine scrolls through the deck of cards, using a servomotor, until it finds the card it wants to respond with and it slides it over to the playing card side using the same motor. When the deck of cards finishes, a servomotor lifts the holder for the played cards pile and they are slid back over to be unused cards.

Challenges We Ran Into

We had some challenges getting the severmotors to slide only one card to the playing side as the motor was attached pin which kept shifting back and forth on the barrel it was pushed through. We had to glue a cardboard barrier on both sides of the barrel to provide support and prevent the motor from sliding left and right too much. This allowed the motor to make a consistent circular motion to slide one card only.

We also had some challenges with image recognition for the Uno cards. Something we didn't anticipate was how much lighting and distance of the camera from the photo would affect how the image is recognized. It took a lot of trial and error, but we used scikit to compare the taken image to a dataset of Uno cards we scanned ourselves and return a correlation number between -1 and 1. -1 means the two images are completely dissimilar and 1 means they exactly the same

Accomplishments We Are Proud Of

We're proud of how we incorporated reliable image recognition into the project and also how smoothly the the servomotors work in sliding the cards over one-by-one and flipping over the holder for the played cards.

What's Next For Uno The Vibes

We hope to make it possible for two friends to play Uno against each other sitting in the comfort of their respective homes but in person. To do this, we plan to build another machine that will function the same is this one except now the machine in one location will play the move of the user in another location. Same for the other machine.

Built With

Share this project:

Updates