I require your help regarding a problem I’m encountering.
Description:
So basically, I recently got a lot of 74HC595 circuits because they seemed cool and interesting to work with, however when I set up the circuit using a variety of schematics as well as simply connecting the pins required based off the datasheet information.
However, after hooking the 3 input buttons up to the SI, Clock, and Latch, as well as hooking up two LEDs to the QA and QB (and all the ground/vcc pins, including the ones that need to be constant high and such), when I press any of those 3 input buttons, it actually lights up the LED hooked to Q1. I am completely lost by this, I have replaced the chip, used higher resistors, etc. yet nothing appears to work.
Would really appreciate your help!
Hardware concerned:
74HC595
Software concerned:
NA
Troubleshooting steps already taken:
Use Datasheet, watch youtube videos on the setup, followed circuit diagrams, nothing appears to work.
I have also searched for this problem and haven’t found it elsewhere Additional information:
You imply that you are using switches connected directly to the inputs. If that is the case then at least part of the problem, and likely all of it, is “switch bounce.” The short story is that when you activate a mechanical switch it makes and breaks contact several times in a very short time. You, as a human with senses in the several millisecond range, don’t notice that. The logic circuits that recognize signals of less than a microsecond see MANY clock pulses, not one.
If you Google “switch bounce” you will find more than you ever wanted to know. Here is perhaps the best, and certainly the most referenced, article on it: http://www.ganssle.com/debouncing.htm
In short, if you want to activate the circuit with a manual switch you will need some sort of “debouncing” circuit. The linked article discusses this in depth. Be warned, some of the simple ones (and even some of the complex onex) you will find on the web cause more problems than they solve. I highly recommend the linked article.
The other way to handle it by pulsing the circuits from another circuit directly, such as a microcontroller (Arduino or other.)