Vol. 28: Electronic Rock-Paper-Scissors

Emulate the classic game using switches and LEDs.

By Charles Platt

Photos by Charles Platt

Illustrations by Charles Platt



+ Downloads & Extras:

+
Pinouts of the 4-pole double-throw switch recommended for this game.


How the recommended switches can be wired together.


Two additional contacts, in a 6-pole switch, could be used to prevent a player from cheating by pressing 2 buttons at once.

+
Enhancements

As always, there’s no shortage of possibilities.

1. A score counter would be nice. You could tap into each of the win/lose LEDs to provide an input for a counter chip for each player, but you’ll need to “debounce” your switches so that they give a clean signal. If you’re not familiar with these topics, you can look them up in an introductory electronics book (such as my own Make: Electronics).

2. I’d like to prevent each player from cheating by pressing more than one switch at a time. One way to do this is by upgrading to double-throw 6-pole switches. Figure L shows how the extra poles would be used. Power to switch #1 is now routed through the normally closed contacts of switch #2 and switch #3, so that if either of those switches is pressed in addition to switch #1, nothing happens. The same system is used for the other 2 switches. In the vocabulary of computer logic, this feature functions as an inverter. But is it the simplest option? Maybe you can come up with a circuit that doesn’t require 6-pole switches. If so, I’d love to see it.

3. Since this is becoming complex, maybe we should get rid of the multi-pole switches and tangled wiring by using a microcontroller, which can be programmed to do everything: sense which button is pressed, light the LEDs, sound the beeper, decide who wins, keep score for each player, debounce the switches, and prevent cheating. But somehow this doesn’t appeal to me. The retro nature of wires and buttons seems right for rock-paper-scissors, and best of all, no on-off switch is needed.

Join the conversation -- every MAKE article has an online page that includes a place for discussion. We've made these RSS and Atom feeds to help you watch the discussions: subscribe.