Originally hosted on darchons.blogspot.com
My second entry to the 555 contest is a game similar to the “whack-a-mole” games. By replacing the “moles” with LEDs and the hammer with your finger, this game discourages violence against underground critters, hopefully. The only ICs used are six 556 chips.
Here's how the game looks:
The rule is simple. During the game, the LEDs will light up randomly. You have a certain amount of time to turn off the lit LEDs by touching the electrodes next to them. Every time, you will get less and less time available. When a LED is not turned off by the time limit, the game ends and all the LEDs will light up. Turn them off to restart the game.
This is the overall schematic, and I will explain each individual block below:
Each of the nine cell blocks is responsible for sensing touch input and controlling one LED.
This block contains the mechanism that controls the /CONT signal. Whenever /LIT is high, meaning no LED is on, a current goes through the NPN base and the diode-connected PNP is turned on, forming one-half of a current mirror. The /CONT voltage directs the other PNPs to mirror this reference current. However, when a LED is on and /LIT is pulled low, the NPN turns off and the current mirror turns off as well. The WAIT signal has the same meaning as /LIT, except WAIT has the right voltage to directly control other NPNs.
This block forms the heart of the game logic.
This block is related to starting the game. Before the game starts, all LEDs are on. Normally this would activate the timeout circuit and the game will soon “end”, even before it has started! To prevent this, the two coupled NPNs form a latch that is set by the RST signal going low and reset by the /LIT signal going high. When RST signal goes low, the third NPN keeps the reset 555 capacitor low, preventing timeout. When all LEDs are turned off to start a game, the /LIT signal goes high and the latch is reset, making it possible to timeout during normal game play.
This small block drives the red LED that gives a visual indication of time left during a turn (although when I'm actually playing the game, I'm too busy to even notice this LED is there). The transistors simply form a Sziklai pair in an emitter follower configuration. The voltage at the LED cathode will follow the reset 555 capacitor voltage. The high gain of the Sziklai pair makes sure the base current too small to disturb the capacitor. When the capacitor voltage is low, meaning there's more time left, the LED will be brighter due to higher voltage/current. As the capacitor voltage rises, the LED gets darker, indicating that the game will soon timeout.
This is the block that generates the random discharging current, which sets a random delay. The 555 is used to generate a free-running voltage ramp with relatively high frequency. The resistor on the discharge pin prevents the voltage from going too low. This voltage goes through an emitter follower and the resistor sets the current that is available through DIS. When WAIT is high, meaning no LED is on, DIS is pulled to ground, to prevent the DIS current from going through the collector-base diode on the discharge NPN.
Finally, this block generates the game audio. The 555 timer is used as an astable oscillator and both the RST and /LIT signals can turn it on. So sound is generate when a LED turns on and when the game ends. The /LIT signal goes through a capacitor to limit the LED-on sound to a short chirp. The RST signal also affects the output frequency. This makes it possible to generate two tones - the game over buzzer sound and the higher frequency LED-on sound. The output is buffered by emitter followers so most power is dissipated in the transistors instead of in the chip. This minimizes the effect that the sound circuit has on the other 555 timer in the 556 chip. The final output is high-pass filtered and drives the speaker.
And that's how the circuit works in a nutshell! When all the different circuit blocks are combined, the game works quite well. Then I get too excited playing and kept knocking transistors loose from the breadboard. Seems like I've lost too many rounds this way.
Thanks for reading!