To determine who goes first in answering a question during a quiz a quiz table is used; the player that presses the button first gets to go first. That’s pretty simple, but we would also like to know the order in which the players pressed their buttons, in case the first player gives the wrong answer. Furthermore, we would like to get rid of all the cables, so that nobody can trip over them and the players can be seated at any convenient location.
The implementation of this quiz table is relatively simple. The necessary components are:
- An old keyboard (or at least the chip that is in there)
- Wireless doorbells (4 of them, reconfigurable, we used the cheapest ones we could find)
- An CNY74-4 opto-coupler
- 1.2Kohm resistors (also 4 of them)
- A small circuit board (to mount the opto-coupler and resistors)
- Some kind of housing
The resulting circuitry is connected to a computer as an ordinary keyboard. The software on the computer will determine which key is pressed in which order, and display the order on the screen.
The picture above shows all the components.
The four circuit boards that are on their side are the receivers of the wireless doorbells. They have all been connected to a single battery pack (shown on the left). They also each have a led that indicates when the bell is ringing, this is the led sticking out at the front. They have been disconnected from their speakers (the ringing gets really annoying 🙂 ). The connection to the speakers now runs to the circuit board on top, where each speaker connection is connected to an input of the opto-coupler via a resistor. The outputs of the opto-coupler are connected to the circuit board at the back, which comes from the keyboard, in such a manner that the outputs correspond to the A, B, C and D keys respectively.
The software that goes with this project is also pretty straight-forward. It was written in Lazarus (just to try something different) and compiles on both Linux and Windows platforms (a binary for Windows machines is available below). The program displays the first button that is pressed in a very large font, filling the entire window (which can be maximized to fill the screen). Any subsequent button presses are shown in a smaller font below the first, and any repeat of the button presses are ignored. To clear the window press the space bar, to flip through the history of button presses use the “,” and “.” keys.
Note that the software also uses the serial port. This is for an other version of the quiz table, which was not wireless and which was connected directly to serial port 1. It should not interfere with anything, unless you have something connected to your serial port.