I have three 595 shift registers with LEDs attached being controlled by my arduino as shown in the shiftout tutorial. Everything is working as planned, except that the first group of 8 LEDs is quite a bit brighter than the rest. The second and third groups appear to be about the same brightness. I've double checked my resistor values and they are all the same.
Yeah, that's my suspicion but I haven't had time to look at the code again. I have a loop that only turns on one register at a time to reduce power consumption, and I think I have a bug causing bank 1 to always be on.
So if I understand correctly, the load of the LED outputs is placed on the shift register's VCC, not the arduino pins, correct?
the load of the LED outputs is placed on the shift register's VCC
Yes it is. Note however, that the output from a shift resister is normally not as capable of sourcing and sinking current as a processor's output lines.
Ok, while I've got your attention. I've been seeing those terms used. Can you explain sourcing/sinking to a noob? Which am I doing when I connect a resistor and an LED?
Source - the current is sourced from the pin, that is the pin becomes the +ve supply for your LED or load. The other end of the load is connected to ground.
Sink - the current is pulled to ground through the pin, that is the pin becomes the ground. The other end of the load is connected to the +ve rail.