Here's a quick and easy project you can do with minimal hardware components. I call this project/device "Buzzword" but it's basically the same game and concept as Catch Phrase. In Catch Phrase, you have a device that shows you random words. You can say anything to help your team guess the word as long as you don't say any part of the "catch phrase" itself, say "it rhymes with ____ ," or otherwise cheat. Once your team correctly guesses the word, you pass the device to the opposing team. This goes on until you run out of time. Whichever team is holding the device when time is up loses.
My game is very similar, except teams compete by seeing how many points they can get rather than simply whoever is holding the device at the end of the round. In addition, since you are providing your own list of words for the game in the code, you can update it once you get bored with the words or add new pop culture references.
Here's a quick demo:
Or for those who don't want to wait for a video to load, here are a few screenshots that should give you an idea of how it works.
- Here's the initial startup screen
- Once you click the button to start, a 60 second timer starts and you're shown the first word. The list of words is shuffled every time the game starts. At this point, if you're holding the device, you can pass if it's too hard, or start throwing out clues. If someone guesses correctly, you hit the +1 button which will increment your team's score and load up the next buzzword for the next player
- This continues...
- Until finally you run out of time and you get your final score
- Arduino Uno
- Arduino Uno compatible 2.8" TFT Touch Shield V2.0 from Seeedstudio (you could use other boards but may need different libraries)
- 9v Battery Power Pack with DC male barrel connection
This one's going to be really simple. The trickiest part is going to be loading the libraries before you upload your sketch.
- Connect the TFT Touch Shield to the Arduino. It only goes on one way, so you can't really mess this up. If it doesn't slip into place immediately, check that the pins are lining up and bend them as necessary. If all of the pins line up well, don't be afraid to use a little force.
- Download the relevant libraries and my sketch
- Connect the Arduino Uno to your computer with the USB cable.
- Open the Arduino IDE. If you don't have it already, download it and install before proceeding.
- Add the Seeed-Studio Touch_Screen_Driver and the TFTv2_Touch_Shield-Text_Direction libraries
- In the Arduino IDE menu, go to Sketch --> Import Library... --> Add Library...
- Find the Touch_Screen_Driver-master library you downloaded earlier in the file system browser and select it. The directory should contain SeeedTouchScreen.cpp file, a SeeedTouchScreen.h file, and a keywords.txt file at a minimum.
- Repeat the above steps for the TFTv2_Touch_Sheild-Text_Direction library
- Open the Buzzword sketch and the font.c file
- In the Arduino IDE menu, go to File --> Open...
- Find the Buzzword.ino file in the Buzzword directory and select it. The main editor window in the Arduino IDE should now be populated with the code
- In the Arduino IDE menu, go to Sketch --> Add File...
- Find the font.c in the root of the Buzzword directory and select it. A second tab should pop up and be populated with some text.
- Compile the code to verify
- Click on the buzzword tab in the Arduino IDE
- Click the icon in the top left with a checkmark symbol - this will compile the code and verify there are no compilation issues.
- If all is well at this point, upload to your Arduino by clicking the icon in the top left with a right arrow icon. This will re-compile the code and attempt to write it to the Arduino itself. The screen should light up and display the start button, and should be ready to rock at this point.
- If the device is working as expected, go ahead and disconnect the USB, plug in the battery pack, and secure the battery pack (two-sided tape or zip ties are good temporary solutions).
- Play Buzzword!