Connect with us

Complex quiz buzzer circuit

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

Scroll to continue with content
  1. Rick Measham

    Rick Measham Guest

    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. Soeren

    Soeren Guest

    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
    the PC plug'n'play-style, which would have the added advantage that the
    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 Chung

    L Chung Guest

    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
    the email address.

    L.Chung
     
Ask a Question
Want to reply to this thread or ask your own question?
You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.
Electronics Point Logo
Continue to site
Quote of the day

-