I am very, very new to electronics, so please be patient with me, as I may say something silly. I also hope the question is not too wide, and would like to thank you in advance for spending your time reading it.
Anyway, here goes:
I am attempting to use a 74HC595 shift register to control a seven-segment display with Arduino using only three pins. I have used Autodesk Circuits to test the circuit before I build it. You can see the breadboard and the schematic in here, as well as the program I'm running:
The display is common cathode.
Before I added the 100-ohm resistor to the display's common ground, the simulation would tell me that the shift register would break, as:
a) The current going through the power pins was too high (70ish mA when a max of 50 mA could be used).
b) The voltage to the DS, STCP, and SHCP pins was too high as well (5V, the max being 2.2V)
Oddly enough (to me at least! it may be obvious to someone more experienced than I) this would happen only for digits 1, 4, and 7. All others would display fine without anything blowing up.
Now, my questions are:
a) Why is it not enough to add resistors to each of the anodes?
b) Can the circuit work the same with just a large enough resistor on the common cathode?
c) Why does Autodesk Circuits say that the clock / latch pins in the shift register can only take 2.2V? The register's data sheet seems to indicate it can take up to 6V digital signal. And why would it be alright for digits 1, 4, and 7?
Checking some diagrams online, I can see variations of essentially the same thing, such as this one (with no resistor to the common cathode), or even one in a robotics site with just two 220 ohm resistors to the two common pins only.
Are all three ways of doing it (segments only, common pins only, both) correct? How exactly do they differ?
Thanks again! And sorry for the long rant. I just began learning.