Multi-User Jeopardy Game (Fastest Finger First)

 

Jeopardy (Fastest Finger First)

This project describes a "Fastest Finger First" system that is cheap to build, has high noise immunity, is reliable and is also extensible.

Note that whilst the schematic below may look complicated, its actually a very simple & cheap interlock based round a single 4013 dual d-type flip-flop and an output driver that is replicated for each position - in this example, 8 times. The buzzer is also optional and can be omitted, along with all its associated components. The few extra resistors & capacitors used for improving the noise immunity are very cheap but improve the reliability of the design greatly. i.e. it's a proper design rather than a hack!

The unit can be built in multiples of 2 users up to 8 users on a single PCB. Additional PCBs can be daisy-chained on to allow 10 to 16, 18 to 24 users etc. The is no design limit, though in practice signal degredation will kick in at some stage.

Photographs are provided of the units in various stages of manufacture - click on the links in the text below.

Background

The requirement for a Jeopardy circuit came from one of those requests that, in the light of the effort involved, I wish that I'd never said 'Yes' to...

I was cornered by one of the 'great and good' of the local community at a village event, and foolishly agreed to provide the buttons/lights etc. for a quiz night being arranged to raise money for a school in Sri Lanka that is associated with our village.

What was wanted was a 'University Challenge' (College Bowl in the USA) type of system that would support up to 2 teams of 4, with boxes that lit up with names etc, and maybe a buzzer.

There were a few problems - the system would need to be cheap, but reliable and it would be used by a number of organisations over time, so preferably would have to be fairly well made.

As if all that wasn't enough, it was needed in a couple of weeks (electronics is only a hobby for me even though its my degree subject - I have a proper job that takes a lot of time), and the environment it would be used in is fairly electrically noisy (the village hall has all sorts of interference - radio mikes, amps, stage lighting etc. 'False Positives' are eliminated by the use of a monostable and by latching all inputs, thus allowing the first button only to be registered, and all others subsequently to be locked out until the RESET button is pressed. All switches are de-bounced by the monostable.

Circuit Diagram & Board Layout

After a couple of iterations, the following was arrived at. It is really very noise-insensitive - you can use long lines between the buttons and the control box. it runs off 12V DC @ 100mA using only cheap CMOS chips. What's more, it can be scaled down to two users and up to any number (within reason!) that you wish... If you are using incandescent bulbs to light up the boxes, then you should use a 12VDC 500mA supply.

Further, a PCB design using Eagle is available for download here.

Click on the schematic and board layout below to see them in full size; Of course, you could always download the freeware version of Eagle from the Cadsoft website to look at (and modify!) the source files.

Jeopardy Schematic

Jeopardy Board Layout

Note that the board design is double sided with only 1 via, so it could be made at home. I could have got rid of the via (its under K8) but I ran out of time - a simple wire link will do. The top plane is Vcc, and the bottom is GND.

A "Bill of Materials" is included here so that you can see what is needed to make the unit - it's really very cheap - mostly commodity diodes and CMOS logic. The buzzer can be left out, as can the relays and driver transistors if you only want to drive LEDs. My design used banks of 12V MES bulbs in the players' boxes to light up their names when they press their button first.

Notes:

  • If 12V relays are used, you can replace the 180R resistors R7,R9,R14,R16,R20,R22,R26 and R28 with a wire link (the resistors are only there to limit current if you use 5V relays, of which I had a load in my parts bin).
  • If the system doesn't reset cleanly on power-up (several lights may come on or the relays may chatter), just solder a 100nF capacitor across the RESET button. This will cause a reset pulse to be generated at power-up so that the initial state is defined.
  • If you don't want the nice "beep", leave out the NE555 (IC6) and its associated components. Note that the buzzer needs to be an "active" one, i.e. one that includes its own drive electronics such that simply applying a DC voltage makes it sound.
  • If you want to use less or more button/light positions just omit/include some of the replicated logic (it's fairly clear from the schematic above).
  • Note the pin/contact layout of the relays used. Not all DPDT DIL relays use the same layout - be careful!
  • R32, the 10K trimmer, is used to vary the length of the on time of the buzzer between about 0.25 and 1 second - I found that about 0.5 seconds was quite enough.
  • The prototype was built on VeroBoard (StripBoard in the USA). If you use roughly the same positions for components as shown in the board layout above, you won't go far wrong.

How does it work?

Each user station has a button connected between Vcc and its BNx line, and a 12V light connected between its LTx line and GND. For each user, a copy of the circuit below is on the main circuit board. This controls handling of the user's button and driving the output relay.

Jeopardy Input and Output

When a user presses their button, the BN1 input goes high - some noise on the line will be removed by the RC combination C3/R4. The pulse from the button is also "wire ORed" by D2 to the CAP (capture) line and is fed to the D input of the RS flip-flop, IC2A. Note that there will be several pulses before the level settles due to switch 'bounce'.

For the relay to switch on, BN1_Q must go high. That only will happen if IC2A's D input is high when the CLK (clock), input goes high - this is driven by the CK line. Now we come to the clever part...

Jeopardy Monostable Reset

When any user presses their button, the CAP line will go high. As buttons always 'bounce', there will be a whole raft of pulses in the first few milliseconds before the contacts in the button settle down. IC1A is configured as a monostable that drives the CK line - this will go low for about 100mS when the monostable is triggered. Remember that 4013 RS flip-flops are positive edge triggered, so when IC1A times out, the CK line will go high. If any button is still pressed, the BNx line will be latched through to its Q output (see IC2A above), turning on its relay. At the same time, IC1B will latch the CAP line to its Q output. If any button is pressed, this will cause IC1A's RESET input to go high, forcing the CK line low regardless of any other pulses on the CAP line, thus debarring other users who may subsequently press their buttons, i.e. IC1A's monostable cannot be fired again until the RESET button is pressed.

This mechanism ignores noise spikes and bounces on any button line, and completely blocks other users once the first user has pressed their button. The only way one or more outputs may be triggered at the same time is if the users press their buttons within IC1A's timeout period (about 100mS), thus indicating a draw.

Because of the high noise immunity of the circuit, you can use multi-core cable to connect the control unit to the users' boxes. Each box requires 4 wires - two of these, GND and Vcc (+12VDC) are common to all boxes; the other two are the users' BNx and LTx lines. The BNx line needs to be connected via a push-button to the Vcc line, and some 12V MES bulbs (or similar) need to be connected between the LTx line and GND.

As these sorts of systems are generally used by two teams of up to 4 users , I placed the two user connectors at each end of the PCB. These are standard IDC 2x5 box headers on a 0.1" matrix. I then used 10-core cable to each group of 4 user boxes, with the Vcc and GND wires being daisy-chained through and dropping out a pair of BNx and LTx lines in each box. The cable from the control unit to the first box was 2M long, and the cable between each box in a chain was 1M. The quiz master can then sit at the control box between the teams.

It should be noted that all users are equal - the system doesn't differentiate between users, so the split is for typical conveniance only; 8 teams of 1 user or 4 teams of two are equally valid combinations. Alternatively, you can easily add more users (see below) to have 2 teams of 10 etc.

Adding More Users

Its really easy to add more users to this system. A second PCB, identical to the standard one is used, but without IC1 & IC6 and all their associated components. Use the same power supply (remembering that you will need more current for more users!), and connect each boards' CAP (capture) CK (clock) and RST (reset) lines together using the EXT (extension) connector. This process may be repeated several times should you so wish.

Building the Units

The bare PCB was made by Olimex and is best populated starting with the smallest components and then progressing to the larger ones. All ICs were socketed, but this is not necessary, however, it does allow you to check the supply voltages to the chips before inserting them (just as a safety check when first powering up).

The PCB was tested on the bench, and the buzzer duration trimmer (see photo of left of PCB) was set to the preferred time.

All the boxes (9 of them) were made out of 6mm MDF, glued with PVA and painted black. Everything was made using a circular table saw with a thin kerf (blade width). A 3mm x 3mm groove was run round 10mm inside the front of the boxes to take a rebated perspex panel - I only had clear perspex available so I used a translucent foam to act as a diffuser, but if you can get white translucent perspex it would be ideal (the sort of stuff used for 35mm photographic slide viewers).

As these units were to be used for two teams of four, with the question master sitting in the middle, when I daisy-chained the boxes together using 10 cores of a 12-core cable, the group of four to the left of the central unit had the cable entering from the right and exiting on the left of the box, and visa versa for the four boxes on the right. This small amount of forethought helps keep the cables tidy and by having two groups you can use 10-core rather than 20-core cable. This photo shows the cabling in the units - you can see that the BNx & LTx lines for subsequent units have been linked though and that I used cable ties as simple strain-reliefs on each cable. The MES bulb holders were fixed with a few dabs of super-glue.

The finished user stations looked like this. The name plates were made by using a laser printer to print on overhead transparancy film, then cutting that to size. The film was held in place by using photographer's "spray mount", though a re-usable glue stick like "Prit" works just as well.

The control unit is the same size as the user stations, but it has a solid front and a few more holes - I added a 2.5mm power connector as can be seen in this photo. The buzzer was simply super-glued over a 6mm hole in the back of the unit - this proved to be perfectly satisfactory as was easily loud enough for our village hall.

Bill of Materials for Jeopardy design

Qty Value Device Parts
2PINHD-1X2BUZZER, RESET
1PINHD-2X2POWER
1PINHD-1X3EXT
91KR-EU_0207/10R4, R5, R10, R11, R12, R17, R18, R23, R24
181N41481N4148D1, D2, D3, D4, D5, D6, D7, D8, D9, D10, D11, D12, D13, D14, D15, D16, D17, D18
12K2R-EU_0207/10R31
92N37042N3704T1, T2, T3, T4, T5, T6, T7, T8, T9
13n3C-EU050-025X075C18
114K7R-EU_0207/10R1, R6, R8, R13, R15, R19, R21, R25, R27, R29, R30
110KTRIM_EU-LI10R32
1710nC-EU050-025X075C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C17, C19
147KR-EU_0207/10R2
1100KR-EU_0207/10R3
2100u, 35VCPOL-EUE5-5C16, C20
8180RR-EU_0207/10R7, R9, R14, R16, R20, R22, R26, R28
85V DPDT RELAY5V DPDT RELAYK1, K2, K3, K4, K5, K6, K7, K8
54013N4013NIC1, IC2, IC3, IC4, IC5
1BOX1-42X5 BOXHEADERX1
1BOX5-82X5 BOXHEADERX2
1NE555NNE555NIC6
Back

Valid XHTML 1.0!