Counter Jumping When a Hand Approaches
A student builds a 4-bit binary counter using a 74LS93 and a 74LS47 seven-segment decoder. The clock comes from a push button with a 10 kΩ pull-up to +5 V. The counter outputs drive four LEDs through 330 Ω resistors. Sometimes the count jumps by two or three when the student's hand approaches the board; sometimes it resets to zero for no reason. The 5 V supply comes from a USB phone charger through a 1 m long cable. The student has a multimeter, a 100 nF capacitor, a 10 kΩ resistor, and a solderless breadboard. The 74LS93 datasheet specifies input low current IIL = 0.4 mA and VIL(max) = 0.8 V; the 74LS47 has active-low outputs. The reset pins are connected to ground through a 10 kΩ resistor, and the clock input has a 100 nF capacitor to ground. No decoupling capacitor is fitted.
1. Explain why the counter jumps when a hand approaches and why the reset sometimes occurs. Include the role of the 10 kΩ pull-up on a 74LS input.
Read the worked answer
74LS inputs source about 0.4 mA when pulled low. With a 10 kΩ pull-up, the low-state voltage can be 0.4 mA × 10 kΩ = 4.0 V, which is far above VIL(max) = 0.8 V. The input never reaches a valid low and is effectively floating/high-impedance, so a nearby hand can couple mains hum into it. The same weakness applies to the reset pins returned through 10 kΩ: they can drift high and reset the counter. The 100 nF clock capacitor alone cannot fix a bad DC level. Use 1 kΩ pull-ups; then the low level is about 0.4 mA × 1 kΩ = 0.4 V, safely below 0.8 V.
2. The student has a 100 nF capacitor, a 10 kΩ resistor, and a breadboard. Propose a debounce and decoupling plan, and state which fix you would do first.
Read the worked answer
Do the pull-ups first, because floating DC levels explain both the hand effect and the spurious resets. Replace the 10 kΩ pull-up on the clock and on the reset with 1 kΩ. For the push button, add a debounce: a 1 kΩ pull-up plus a 1 µF from clock to ground gives τ ≈ 1 ms; or use a 74LS14 Schmitt trigger. Add a 100 nF decoupling capacitor directly between the 74LS93 VCC and GND pins, and keep clock/reset leads short. Shorten the 1 m USB cable or add bulk capacitance at the board; the long cable raises supply inductance. Software cannot substitute for valid logic levels.
3. Why might the display briefly show a wrong digit during counting, and is that necessarily the same fault?
Read the worked answer
The 74LS47 is a combinational decoder; when several counter outputs change at slightly different times, its outputs can glitch for a short time. With LEDs this is usually invisible. If it becomes visible, use a latch or blanking. This is different from the hand-induced jumping, which is caused by invalid input DC levels. Treat the hand effect as the real fault and the brief decode glitch as normal unless it persists.