# Kicking around an idea for an RCX buzzer system...thoughts?

Alright, I’ll admit it…I was on a quiz team of some variety for six years. Nearly half of my public education.

While I’ve since realized that FIRST is a whole lot more fun, there are still times where a buzzer system is useful.

So here’s what I’m thinking…

Red buzzer: Sensor 1
Blue buzzer: Sensor 2
Teacher clearing buzzer: Sensor 3

Then have lights/motors/whatever on A, B, and C, with the same order.

Here’s what I had in mind: The teacher hits her (note: his and her can refer to anyone–it’s just that writing his/her every time is a pain) touch sensor to clear the buzzer, then starts reading the question. If a student buzzes early (by pressing the sensor), their light/motor cuts on and locks out the other sensor. If neither student buzzes, then the teacher pushes again to start a five (or ten, or whatever) countdown after the question. Buzz, and it stops the clock and the other sensor. If the timer buzzes, then the teacher light comes on, and both students are locked out. (In effect, it acts like another buzzer, except that it’s automated.)

Here’s my english coding:

``````On teacher sensor press:
Buzzerstatus=0
Timer=0

On teacher sensor repress:
Start timer, display on RCX

If timer=5 seconds
buzzerstatus=1
Activate output C
Goto start

On red buzzes:
If buzzerstatus=1, do nothing
If buzzerstatus=0, make buzzerstatus=1
Activate output A

On blue buzzes:
If buzzerstatus=1, do nothing
If buzzerstatus=0, make buzzerstatus=1
Activate output B
``````

From there, it’s just a matter of making it purdy. If you’d like to allow multiple students to buzz for a team and don’t care who exactly buzzes, then just stack the touch sensors on top of each other for a nice big OR sensor. (If you’ve got another RCX, then I guess you could use it for scoring, but that’s another post.)

You don’t need to lock out the sensors mechanically. And you can use resitors to make each button take a bit. (short resistors when pressed).

You know, once I reread my post after reading yours, I realized just how little sense things make when they leave my head.

The lights/motors are to signal that that person/team buzzed. (I’d probably add a beep as well, but that would make too much sense.) The pseudocode should (if I’m thinking right!) lock out the other sensor in the code…hence the buzzerstatus=0 or 1 thing.

LCD display. Display the ID of the buzzer.

For most buzzer systems, that’d be a good thing. But given that I’m only going to have two buzzers working, it kinda feels like overkill. I think a beep and a light/motor will easily handle the needs of the judge to know who buzzed first (assuming the judge has some sense in him/her/it).

you could also just have the sensor do nothing in the software…if you dont have any lego lamps you could just connect a light sensor to a motor output and it will light up. Or just cut a lego wire and attach it to a regular lamp. I think the voltage is 9, not sure on the amperage or anything like that but you can find it all out using a voltmeter/ammeter.

Given the cost of a Lego wire, I think you’d have a very small group who’d consider that…and most of their names would likely rhyme with Hill Mates.

Besides, what’s the fun in using legos if you aren’t gonna use legos? (grin)

Well, a bit over a year later, I’ve done it.

My camp did Jeopardy night, and I created the buzzer system with one RCX, three touch sensors (three teams), a remote, and lots of motor wire. (The extra sensor and the long motor wires were lifted from other kits.)

Here’s how we did it: at the start of the program, the display read 1293. (I needed a number, so I just put the first one that came to mind.) When a sensor was pressed, it checked a variable. If it was 0, the variable changes to one and changes the screen to read that buzzer number. If the sensor is one, it does nothing. When the remote sends a message of 1, the variable goes to zero and the display goes back to 1293.

It worked flawlessly–although the switches and longer wires wouldn’t hurt if you were making something more polished.