Project Game Buzzers
includes the embedded code in buzzers and a control terminal for multiple game modes.
My favorite card game is 'Monkey', a game of mental multitasking and quick reactions. A part of the game is everybody putting in their hand and the last one to put their hand in the middle of table loses. This part of the game is prone to injury with competitive players. The game mode 'monkey' replaces this part of the game. In addition, I love playing quizes with my friends and family. The game mode 'quiz' allows contestants to buzz in to anwser questions.
For this project, I learned to code for Arduino and in C++ and I learned soldering and a bit of electrical curcuitry and 3D modelling. It's not perfect by a long shot, but it works.
- 🌻 Description and Motivation
- 🔖 Table of Contents
- 🏗️ Building and Installation
▶️ Usage- 👍 Collaborators
- 📜 License
What are the steps required to install your project? Provide a step-by-step description of how to get the development environment running.
Hint: The part list and code expects one controller terminal and 6 buzzer buttons.
- Buy (or search from a drawer) the following electrical parts:
- 6 Arduino Nano (example part)
- 1 Arduino Micro (example part)
- 7 round ON/OFF-switches (example part)
- 6 big dome buttons (example part)
- 2 small buttons (example part)
- 8 LEDs (example part)
- 6 radio transmitter-receiver pairs (example part)
- 7 9V batteries (example part)
- 7 9V battery jumper wires (example part)
- Jumper wires (example part)
- Resistors (example part)
- DFPlayer Mini (example part)
- Micro-SD cards (example part)
- Speakers (example part)
- Solder parts according to the curcuit diagram below
- Build or buy 3D-printed or other casings
- 1 terminal:
cases/terminal/Controller_Box.stl
andcases/terminal/Controller_Deckel.stl
- 6 buttons:
cases/button/Button_Box.stl
andcases/button/Button_Deckel.stl
- 1 terminal:
- Insert the soldered parts into the cases according to the user interface below (a little filing or glueing might be necessary)
Graphical circuit diagram:
User Interface:
- Clone this repository
git clone https://github.com/andreasnicklaus/game-buzzers.git
- Install the (Arduino IDE)
- Connect the terminal via USB and flash the terminal code from receiver on the controller (How to upload code with the Arduino IDE)
- Remap the LED connections in receiver/receiver.ino with the help of the init mode
// Output pins (change if the order is wrong) int LED_1_PIN = 5; int LED_2_PIN = 7; int LED_3_PIN = 6; int LED_4_PIN = 2; int LED_5_PIN = 4; int LED_6_PIN = 3;
- After remapping, reupload the code
- For each button:
- Edit in transmitter/transmitter.ino
rf_msg
to give each button a unique number 1-6.
//! change for every button const char *rf_msg = "1";
- Connect the button via USB and flash the transmitter code from transmitter (How to upload code with the Arduino IDE)
- Edit in transmitter/transmitter.ino
Terminal
- ON/OFF-switch on the side turns the terminal box on and off
- 2 top mode indicator LEDs show the current active mode, see modes
- Right mode switch button cycles through the modes, see modes
- Left reset button resets the current active game mode, indicated through all LEDs lighting up. I the reset button does not fix the current issue, turn the box off and on again.
- 6 button indicator LEDs for each button
Button
- ON/OFF-switch on the side turns the button box on and off
- Big dome button to send the signal to the to the terminal box, indicated by the button lighting up
L | R | Mode |
---|---|---|
off ⚫ | ⚫ off | Init Mode |
off ⚫ | 🔵 on | Monkey Mode |
on 🔵 | ⚫ off | Quiz Mode |
on 🔵 | 🔵 on | Lights Mode |
- Init Mode: Register active buttons or remove a button from active usage by pressing the button. Each indicator light will show a button as active by lighting up or switching off. Reset removes all registered active buttons.
- Monkey Mode: Find the last pressed active buttons. Indicator LEDs light up for pressed buttons. The indicator LED for the last pressed button blinks. After a few seconds, the round resets. Reset starts a new round. Needs registration through the init mode.
- Quiz Mode: Find the first pressed button. The indicator LED for the first pressed button blinks and resets after a few seconds. Reset starts a new round earlier. Does not need registration of active buttons through the init mode.
- Lights Mode: Starts a light show to identify the LEDs. LED 1 blinks one time, LED 2 blinks twice and so on. Reset restarts the light show. Does not need the buttons to work.
See LICENSE for the license of this project.