seekingferret: Two warning signs one above the other. 1) Falling Rocks. 2) Falling Rocs. (Default)
[personal profile] seekingferret
About five years ago a friend wanted to run a custom Jeopardy game at our New Year's party. He found a Powerpoint template and put together the game board, but he needed a buzzer system to tell who buzzed first, so he asked me to help. I found a circuit diagram online (I'm a mechanical engineer who dropped the only digital logic design course I took in college after a month, so I can't effectively design such circuits, but I know enough to follow a circuit diagram), tweaked it slightly* for my purposes, built it on a breadboard, and threw some buttons onto Chinese food containers to serve as buzzers.



Ever since then, I've wanted to build a more sophisticated and permanent and reliable version of the project, because quizzing is a thing I have had a lifelong passion for, dating back to obsessively watching Where in the World is Carmen Sandiego and affirmed by a high school run to the semis of a national quiz bowl tournament. This merged recently with my desire to learn how to use an Arduino microcontroller, so over the past couple weeks I finally built buzzer system version 2.

The buzzer buttons are now mounted on dollar store jumprope handles, a major step up in ergonomics. The wiring is enclosed in a project box, and instead of a breadboard I've transferred the main circuit interconnects to soldered perfboard for greater reliability. Perfboard is a thing I have mixed feelings about. It's certainly better than breadboards for projects that are going to be handled by other people, and if you think it out ahead of time it can result in cleaner and prettier circuits, but it's so tedious to assemble, easy to screw up, and a huge pain in the neck to fix the myriad mistakes of an inexpert solderer.



In the old project, the first to buzz was indicated by an ordinal red LED from a linear array on the breadboard. Now it's indicated by a piezo buzzer sounding a distinct tune and eight RGB LEDs switching to the winning buzzer's color, and the lockout reset button lighting up.



The microcontroller can support up to 10 buzzers (more if I multiplexed them with a shift register, and that's definitely a thing I want to learn more about, but I'd be worried about how that would affect timing in an application like this), but I've chosen for a few reasons to only wire up to 6, with easy expandability up to 8. If you look, you'll notice that the plugs for plugging in the buzzers are not exactly aligned. This is because I was lazy and skipped out on drilling some pilot holes I should have, and the drill drifted on the plastic from my marks. If it bugs me enough, I'll cut out a big rectangle from the top plate, have a replacement cover laser cut or something, and glue it in.

The RGB LED array is a new thing- those didn't exist when I was first learning electronics. If you wanted to use an RGB LED (and those were a thing that barely existed, commercial blue LEDs didn't come around until the late '90s and the Nobel Prize for the discovery was awarded only two years ago), you had to use Pulse Width Modulation or analog voltage adjusters on all three color channels individually, making larger arrays incredibly laborious to construct. Miniaturization and digital automation have progressed to the point where a 3 Channel Serial-PWM RGB driver can be mounted on the LED package, allowing a single serial stream to individually address dozens of LEDs. It's a pretty amazing technology.

The Arduino Nano driving this thing is also a new thing. I have an Uno mounted next to a prototyping breadboard that I used to prototype the different elements of the project, and it's great for that, but the Nano hits my sweet spot of deployment as a moderately competent hobbyist- it's a breadboard friendly and protoboard friendly form factor, letting me miniaturize finished projects without going all the way to the pro-level with custom designed PCBs and so on. And they're incredibly cheap! Only a few dollars apiece. I mean, the whole Arduino ecosystem is shockingly cheap, compared to the equipment available when I was first learning this stuff. Back then, if you wanted components at Arduino price levels, you had to buy the pro-level non-user friendly stuff with esoteric programmer protocols and half-English datasheets.







So then I brought my buzzer set to the local library for their trivia night. One of the impetuses for finally getting it together and building this was the idea that it might be used for library trivia night- at present, they have a set of buzzers that flash and make noise but are not connected to each other, so a human judge has to decide which was triggered first- an extremely frustrating and error prone process.

I hooked it up, showed everyone how it worked, and people were impressed, until I started taking it through its paces and found that two of the six buzzers had broken wires. There were 5 teams, so with us down to 4 buzzers we had to go back to the old system. Frustrating. I've fixed everything up, and I think I did a better job with strain relief this time, so hopefully things will go better the next time I deploy it.



*The best part of this story is that I was able to build the circuit from logic gate ICs I had lying around the house. The circuit called for use of a hex buffer IC as part of the latching circuit, but I didn't have any hex buffers. But I did have a hex inverter IC! And I realized that if I reversed the polarity, the circuit would work. Possibly the greatest moment of my life. Certainly my best party story. I may not be very good at parties.

(no subject)

Date: 2016-04-27 11:27 am (UTC)
liv: cartoon of me with long plait, teapot and purple outfit (mini-me)
From: [personal profile] liv
I really enjoyed hearing about your adventures in making a buzzer for quizzing. I don't play much any more but I used to be really into it when I was a teenager and at college, and I know how essential it is to have an automated system to judge who buzzes first.

(no subject)

Date: 2016-04-27 12:31 pm (UTC)
jack: (Default)
From: [personal profile] jack
Oh, cool! It's really satisfying when you get something you built working.

(no subject)

Date: 2016-04-27 06:37 pm (UTC)
melannen: Commander Valentine of Alpha Squad Seven, a red-haired female Nick Fury in space, smoking contemplatively (Default)
From: [personal profile] melannen
I don't know, any party that doesn't appreciate a long story that ends with "and then I realized I needed to REVERSE THE POLARITY" isn't a good party.

(no subject)

Date: 2016-04-28 01:53 am (UTC)
scintilla72: (evil grin)
From: [personal profile] scintilla72
I'm pretty sure I still have the notepad we used for our Final Jeopardy! answer, and possibly the running score tallies as well.

Profile

seekingferret: Two warning signs one above the other. 1) Falling Rocks. 2) Falling Rocs. (Default)
seekingferret

February 2026

S M T W T F S
12 3 456 7
8 91011121314
15161718192021
22232425262728

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags