# Complex quiz buzzer circuit

Discussion in 'Electronic Basics' started by Rick Measham, May 14, 2004.

1. ### Rick MeashamGuest

I have dreams of making a complex quiz buzzer circuit. Here's how it
works:

Basic, generic, common functionality:
1. User closes circuit (presses 'buzzer')
2. Noise is triggered, lights turn on (for a defined period)
3. All other buzzers are disabled.
4. Quiz master (or tech) reset circuitry for next buzz.

Reset
-------------
1 2 3 4 5
o o o o o
\ \ | / /
\__\|/__/
|
O

Buzzed
-------------
1 2 3 4 5
o x o o o
\ \ | / /
\
|
X

However, here's where I want to go with it:
1. The system will be modular:
1a. There should be no limit to the number of buzzers that can be
used.
1b. There should be no limit to the number of parallel switches in a
single buzzer (easy - parallel switches)
2. The lights could/would be mains voltage
3. The 'noise' could/would be different for each buzzer
4. There would be some way of stacking the devices such that three
devices could produce:

Group A Group B
------------- -------------
1 2 3 4 5 1 2 3 4 5
o o o o o o o o o o
\ \ | / / \ \ | / /
\__\|/__/ \__\|/__/
| |
O O
\_____________/
|
O

Group A Group B
------------- -------------
1 2 3 4 5 1 2 3 4 5
o x o o o o o o o o
\ \ | / / \ \ | / /
|
| |
X O
\_______
|
X

Given all this, what's the best way forward? I'm a programmer so my
first thought is to create the logic in a computer. But then I wonder
if I can get rid of the PC and use a PIC somehow (I've only heard of
them, never used them). As I've never used one, I'd need to get a
circuit from someone which could prove expensive.

So, going with the computer, I need a single buzzer circuit and I need
an interface circuit that can take any number of buzzer circuits.

I figure each buzzer circuit could have a dip switch which would give
2^8 possible buzzers (256 is probably infinite enough

The interface circuit would then need some way of plugging in all the
buzzer circuits which seems difficult, the circuit would need 256
sockets (and doing that would negate the dip idea) so I figure they're
chained: [PC]-[Interface]-[Buzzer 1]-[Buzzer 2]-..-[Buzzer n]

Next thought is that each buzzer circuit would be mains powered to
allow light switching .. which means up to 256 power leads plugged in
So maybe the lights are low voltage after all (can I safely use
something like the low-voltage downlight things and transfer the power
via the chain?)

The sound would probably be generated by the PC so that's not hard.
The sound would come out of the PC too rather than from the buzzer
unit.

The multi-level functions would all be part of the programming. The
application could define dip 0-8 as Group A etc.

If you're still with me, I need the following answers:
1. How do I close a circuit on the buzzer unit and send a 'number'
down the line (the dip setting)
2. How do I get the interface to send that number into the computer?
3. How do I send a signal back up the line to that numbered controller
telling it to turn it's lights on?
4. Do I send low voltage (5v) through all the switching and have it
trigger a relay for the low-voltage lights whose power is on different
wires?

(Q1, I'm guessing rather than closing a single circuit I'd be closing
the dip switched, which means the chain cable will have at least 11
wires, (DIP0 - DIP7, Common, 15+, 15-) and then the interface would be
where this is 'interpreted'. However I'd like the chain connectors to
be more 'obtainable' even to the point of being able to use telephone
cables with RJ45 connectors on each end. For this, I need to find some
way of passing the data and power through 4 wires. Surely there's a
way to do this similar to my computer keyboard which has 101 keys but
only a handful of wires.)

Any and all help is very much appreciated. Thanks!

Cheers!
Rick Measham

2. ### SoerenGuest

Hi Rick,

OK so far (within reason).

Are you thinking of a buzzer for each button, for each group of buttons
or what ?

Not needed in the approach I would suggest

Are you using the term "buzzer circuit" in relation to the buttons or to
the buzzers ?

A good time in your life to start looking at some of the smaller PIC
processors
Eg. the PIC12F675, which is a 8 pin reprogrammable (flash memory)
processor.

A circuit like this:

+-----+--O +5V O--+-+-+--| +5V (from USB/game port)
| | | | | |
| _|_ / / / |
| _\_/_ LED \ \ \ Pull up
__|__ | / / / resistors
| |--+ | | | |
| |-----O Flag O--+-|-|--| PC
+--| PIC |-----O Data O----+-|--| Parallel
| |_____|-----O Clock O------+--| Port
Push | O | |
Button | O | |
| | |
+-----+--------O Gnd O---------| PC Gnd

Is basically what is needed. The LED could be part of an optocoupler, if
more light is needed or if a separate buzzer is needed for each and
every button (switch).

The flag bit (pulled high with a resistor at the PC) is used to lock out
the other circuits like in the following pseudo code.

Init:
Whatever needs it
(Eg. getting ID# form PC)

Main:
loop Main

Interrupt_On_Button_Press:
if flag = 1
{
set flag = 0
transmit ID number
wait for acknowledge from PC
set flag = 1
}
else
{
somebody beat you to it, be ashamed
}
return from interrupt

With a little clever programming, it could have the ID# transferred from
PC would allways know how many "buttons" were plugged in.

The ID# could of course also be programmed into each processor, but
getting the ID# @ plug in time, you will only need identical
circuits/programs.

Use 16 bits for the ID# and you won't have to run out of #s

I have not checked how many could be connected like this (that depends
on the leakage current of each pin, lead length etc.), but a transistor
on the data and flag pins on each module and one on the clock pin on the
PC (which should control the clock line) would beef things up.

if got_the_idea
{
fine
}
else
{
feel welcome to drop me a mail at Spambox(at)im26y(dot)com
}

3. ### L ChungGuest

I can only tell you what I did in a simplier project I built a few
years ago. It consists of four identical 4-digit LED display units, of
which each unit can have "ID" set by selector switch(or dip switch if
you like) built into each unit. So any one single unit can assume ID
of 0-3. Two or more unit can assume the same ID.

Each display unit has 6 phono sockets(connected in parallel inside the
unit) for connection to external manual push buttons.

The display units, buzzer and master controller are diasy-chained
using common 3-core power supply cable. This is the only cable used.
There are no other signal cable. The three cores are earth(also DC
supply common), sense line and positive supply at +20V. In the
following, MC=master controller, BUZ=buzzer&power supply, Ux=display
units:

MC---BUZ---Ux---Ux---Ux---Ux

On the MC, the operator can set/change the marks on individual "ID"
unit(s) before game starts. The marks award/deduct for a correct/wrong
answer can also be separately set. When any push button is pressed,
one of the "ID" led on the MC will lights up, and the buzzer sounds
for a presettable time. The operator then decide whether he likes to
accept/reject/cancel the response. The marks is calculated
automatically by MC and display on the MC LCD and the display units.
I encoded the "ID" data into an analogue voltage signal on the sense
line.
Using ADC on the sense line at the MC and read the data into a 8051.
I don't. The display unit knows that its PB has been pressed and
lights up automatically.
You can. But by all means don't use AC100 or AC240V. Remember, these
unit are most likely to be used for youngster so I purposely choose
low voltage and earthed casing to avoid any possible danger to the
users.
Welcome to the party. You need to think clearly what you wanted and
design according to your needs to fulfil the goal. Do not get too
complicated and cater for every possible scenerios.

I did the project solely because the 8051 is completely new(I learned
Z80) to me and I need to learn how to use it. I ended up using five
87C51, connected and communicating with each other, using interrupt.

To contact me by email, visit www.chunglim.freeserve.co.uk and note