How to make a Priority-less Quiz Buzzer?

Thread Starter

astrotom

Joined Jul 14, 2012
16
My project: A priority-less quiz buzzer using a microcontroller which outputs the teams in order of their response instead of blocking their buzzers if a buzzer is already pressed.

Hello everyone here! I am new to the forums and infact new to electronics. My school's looking for a student made electronic buzzer and the one who makes it gets a prize. We are allowed to take help from anywhere.

I am just a high school student and have just the basic knowledge of circuits and electronics which are covered in the syllabus. However I quite expert in programming in c and c++. I have also taken the time to research the internet for how microcontrollers work.

Well as my project title says, I wish to make a buzzer which tells which team pressed 1st, 2nd, 3rd and so on instead of block other teams' buzzers if a buzzer is already pressed. I searched the net but the best link which I could understand is this one: http://www.engineersgarage.com/microcontroller/8051projects/8-candidate-quiz-buzzer-AT89C51-circuit
However that's a regular quiz buzzer and not priority-less.

If someone could help me modify that project to my needs, I would be grateful. I am attaching the resources from that site such as circuit diagrams and the microcontroller embedded codes here for easy evaluation.

I also found another site which has just what I want but it was too confusing and it used a PC to monitor the inputs ans show the result instead of activating a buzzer. The link is this: http://electrosofts.com/parallel/buzzer.html

I hope you guys help. And a complete setup guide for the project if possible would be welcome.

Thank You.
 

Attachments

Thread Starter

astrotom

Joined Jul 14, 2012
16
UPDATE: I thought hard I came up with something that may just work. I already had the code for my microcontroller ready which shows the order of response of team members. The only problem was that I didn't know how to output that to a device like seven segment display.

I thought about and I realized, I could use 4 separate seven segments to represent the four teams and output the order of buzzer press to these 4 displays. However, I don't think there are enough pins for 4 seven segments on a AT89C51-8051 microcontroller. So maybe I would require two of them. I wanted to know if this idea is good enough and whether I would have to burn the code to both the chips or whether I could connect the two chips and use a single program. Any help would be appreciated.
 

KJ6EAD

Joined Apr 30, 2011
1,581
You don't need two controllers, just a better method. You could use shift registers or BCD to 7-segment decoders or a dedicated display driver, for a few examples.
 

Thread Starter

astrotom

Joined Jul 14, 2012
16
You don't need two controllers, just a better method. You could use shift registers or BCD to 7-segment decoders or a dedicated display driver, for a few examples.
Thanks for the reply. As I understand, A BCD to 7-segment consists of 4 inputs as opposed to 8 inputs for the 7-segment. So could I interface 4 of these BCDs with an 89C51. And can 2 BCDs be interfaced to the same port. Eg: BCD1 interface to Port0.0 through 0.3 and BCD2 interfaced to Port 0.4 thru 0.7 ? Could you please provide a link on how to interface a BCD?

I didn't quite get what you meant by display driver though. Could you please go into a bit more detail? Also how would I implement using shift registers?

I know I am asking a lot from you. But your help is and will be highly appreciated. Thank you.
 

ErnieM

Joined Apr 24, 2011
8,377
Of course, for under $11 you could get something like this:



Horrible image, they really look much better IRL. They take only 6 lines to control and give a ton of output information. I got one off EBay.
 

Attachments

KJ6EAD

Joined Apr 30, 2011
1,581
Thanks for the reply. As I understand, A BCD to 7-segment consists of 4 inputs as opposed to 8 inputs for the 7-segment. So could I interface 4 of these BCDs with an 89C51. And can 2 BCDs be interfaced to the same port. Eg: BCD1 interface to Port0.0 through 0.3 and BCD2 interfaced to Port 0.4 thru 0.7 ? Could you please provide a link on how to interface a BCD?

I didn't quite get what you meant by display driver though. Could you please go into a bit more detail? Also how would I implement using shift registers?

I know I am asking a lot from you. But your help is and will be highly appreciated. Thank you.
I don't know your microcontroller. I had to program one in school but never since.

Using the BCD to 7-segment decoder, you should be able to get by with 2 outputs from your microcontroller for each contestant since you only need 0000-0011 (the 2 highest bits don't change and could be hard-wired to ground).

One example of a dedicated display driver is a MAX7219, though it's kind of old and I'm sure there are plenty of better new options.

You can research interfacing microcontroller outputs on your own. I know there are a lot of resources available.

If you're not required to use a numeric display, you could simply use 4 large LEDs to indicate the placements; 1 LED lit for first, 2 for second, etc. To do that you'd need 16 output pins unless you used multiplexing, charlieplexing or shift registers.
 

Thread Starter

astrotom

Joined Jul 14, 2012
16
@KJ6EAD Thanks for the input. I have figured out how to interface the BCD with the microcontroller.

@ErnieM Thanks for the suggestion. That looks like something useful. Are you sure it needs only 6 I/O pins?

@adrenalina Nice idea. That would easily solve the problem of multiple I/O inputs required. Thanks.

Right now I am looking for a programmer for the 89C51. I need something basic and cheap and if possible, an USB interface. I have found a couple of them on ebay: http://www.ebay.com/itm/USB-AT-51-P...642?pt=LH_DefaultDomain_0&hash=item2eb0b601ca and http://www.ebay.com/itm/Atmel-8051-...s51-89s52-89c2051-89c4051-CHEAP-/280756472163

Could you guys please suggest which one is better or if you know any better ones? Thanks again.
 

ErnieM

Joined Apr 24, 2011
8,377
@ErnieM Thanks for the suggestion. That looks like something useful. Are you sure it needs only 6 I/O pins?
Quite sure. That's how I use them:

1- RS
2- E
3- D4
4- D5
5- D6
6- D7

Optionally, you can also use the RW (read/write) pin if you want to read out what you already wrote there, or read out a "busy" flag bit. Otherwise just ground that pin.

D4-D7 are the data lines, when initializing the device you can tell it to ignore D0-D3. Most people do. (If you use the bottom 4 lines you save a very tiny amount of time when writing to the device. It takes twice as long since you have to write everything out twice but it's very fast anyway.)

Finally, the device has a backlight. You may want to use an output pin to make the display blink when you wish. Usually you can read it anyway without the backlight but the blink can be useful.

So a minimum of 6 pins, middle of 8 pins, or a maximum of 12 pins.

There's tons of example code on the web for how to run these things.

(Stuff from China off EBay gets to me in NY in about 2 weeks for minimal a9free) shipping.)
 

Thread Starter

astrotom

Joined Jul 14, 2012
16
Quite sure. That's how I use them:

1- RS
2- E
3- D4
4- D5
5- D6
6- D7

Optionally, you can also use the RW (read/write) pin if you want to read out what you already wrote there, or read out a "busy" flag bit. Otherwise just ground that pin.

D4-D7 are the data lines, when initializing the device you can tell it to ignore D0-D3. Most people do. (If you use the bottom 4 lines you save a very tiny amount of time when writing to the device. It takes twice as long since you have to write everything out twice but it's very fast anyway.)

Finally, the device has a backlight. You may want to use an output pin to make the display blink when you wish. Usually you can read it anyway without the backlight but the blink can be useful.

So a minimum of 6 pins, middle of 8 pins, or a maximum of 12 pins.

There's tons of example code on the web for how to run these things.

(Stuff from China off EBay gets to me in NY in about 2 weeks for minimal a9free) shipping.)
Thanks a lot! That was useful. Can you also please suggest me a good cheap programmer for the 8051 AMTEl chip? I have posted links to couple of them I found on ebay in my previous post. Could you please go through them and tell me whether they are good and which one to chose.

Thanks
 
Top