Main Menu

Secondary Menu

MonoPong

Introduction: MonoPong

When I saw this amazing 1D-Pong-Game at Hack-A-Day, I thought "What a great idea - I want to make one". In fact it is a good projects for using microcontrollers, but I also think it is a great project for using logic ICs. I am fascinated by the simplicity of these ICs, and I was wondering if I could make a 1D-Pong-Game without a µController.

Here it is: MonoPong involves a CMOS NAND Gate (4011), a 4510 up/down decade counter, 4028 BCD to decimal decoder chip and as an oscillator an NE555 in astable mode.

The Game
is a 1D-version of the famous PONG game. The "ball" moves from left to right. The player has to push the button at the right moment to strike it back. If he misses the "ball" the other player wins one point.

Step 1: How It Works

Instructables is not only about how to make something, but also about learning how something works. So, let me first explain how the circuit works.

IC2 in the schematic is a CMOS 4510 up/down counter. Driven by IC1 which is a NE555 in astable mode it counts from 0 to 9 in BCD code. Normally it counts from 0 to 9, but it can be switched to count in the opposite direction by b setting pin 10 to HIGH.The BCD code is converted into a decimal code by the CMOS 4028 (IC2). This one drives the display and gives out the counted number in form of one of 10 LEDs lighting up.

The last IC is a 4011 NAND gate. Two of the NAND gates are connected to work as a RS flip flop. The inputs of the other two NAND gates are connected to the buttons and LED1 or LED10. The outputs are connected to the RS flip flop. If you push the button at the right moment, which means for example when LED10 lights up, the output of the NAND gate sends a LOW signal to the flip flop which changes its output state (eg. from HIGH to LOW or vice versa). This signal goes to pin 10 of the 4510 to change the direction of the count. The "ball" bounces back.

Step 3: The Enclosure

We start with the easiest part: Drill the holes for the LEDs, pushbuttons, potentiometer and on-off-switch to the box. You can already mount these parts. I removed the metal parts of the box to have a cleaner design.

Step 4: Soldering the Circuit

Soldering the circuit it the hardest part of the work in that project. I spent a whole day (with lunchbreak!) for it. There are not much components, but a lot of wire.

Do not solder the ICs directly to the board - always use sockets!

Begin with the NE555 circuit and solder all connections step by step. Dont forget to double check all your connections by using your multimeter to avoid mistakes. It could be difficult to find the missing/wrong connection later. Refer to the circuit diagram and work very accurate. (click here for a big version of the diagram)

I did some modifications in my last version: I left out the reset button (S1) and the related pull down resisor, because it is not necessary for the game. I just connected the reset pin ( 9) to GND. I also substituted the ten current limiting resistors (next to the LEDs) with only one. One is enough because only one LED lights up a time.

In the last step solder the wire for the LEDs, poteniometer, on-off switch, battery clip and the two pushbuttons. I used different colors to not get confused when wiring these parts up. I highly recomment you to do so.

Now its time for the ICs to join the party. Put them to the sockets. Put the board into the box and wire the LEDs pushbuttons, potentiometer, battery clip and on-off switch. Again: carefully double check every single wire! It is easy to make mistakes here.

Step 5: Finishing

Glue the circuit board to the box. I also had to glue the potentiometer because the wood was too thick to screw it. I closed the box and fixed the top cover with double sided tape.

Add a 9V battery to the clip and start playing with your friends!

Modifications

I wanted to keep the design as simple as possible, but of course there are modifications possible. You could add a switch for 1 player mode closing the Player 2 button permanently. Or you could set up the circuit to avoid cheating (in my version it is possible to push and hold the button to bounce the ball back). What ever you do, please share your modifications!

Tips

Questions

30 Comments

I thought about some developments for a possible future build of my own: narrow pulse one-shot generator for each button (to avoid cheating/holding) and 4017 decade counters for score (each time the 'score' LED lights, a clock is sent to the counter) and some sort of tone being triggered by the 10th step opening. I imagined just a simple AND gate opening a tone and one has to reset the circuit to restart the game. I really REALLY like that this is just based on logic! very clever done!

This is great fun, much better than having to download a program to a microcontroller. I don't have a 4510 or 4028 but I found a 4017 decade counter in my son's electronic kit, which unfortunately only counts up, but at least I don't need to decode anything. I was thinking of using two more 555s to fix the cheating problem (and maybe adding another two counters and 7-segment LED decoders to keep score). It starts to get complicated, and my son says we should just use an Arduino, but I'm having fun.

Thanks so much for this project. (BTW, what's the best place to get these old parts? Digikey?)

The cheating problem can be fixed with a 4013 dual D flip-flop I.C. Connect the clock inputs to the push buttons and the D inputs to the decoder outputs (where the NAND gates' inputs are connected to in the original circuit) Then connect the outputs of the flip flops to the RS latch.

What happens when both players hold down the button? I think the game is cheatable, any simple solution around that? D-latch on the output 1 & 9 as memory for the last output stage? Still very grate and simple circuit! A+

Newsletter

Let your inbox help you discover our best projects, classes, and contests. Instructables will help you learn how to make anything!