- The Arduino generates binary code - 8 bits / 1 byte (i.e. 00010000) to depict a 7 segment digit number
- This info is sent in serial (via a single line) to the shift register - pin 3 (SER IN)?
- Each bit is sent/received 1 at a time and shoves the next spot in the register until all 8 are filled up (received)
- To snapshot this, via the Arduino, "latch" is changed from Low to High - this is pin 12 (RCL) or the register
- This flip causes the bits to be copied to each of register output pins (drain0 to drain7)
- This then repeats replacing the bits in the shift register
Now, to cascade, is this correct?
- All the 15 drain0's are connected together, and all 15 drain1's, are connected together etc, etc
- All 15 latch pins are connected together - pin 12?
- All 15 clock pins are connected together - pin 13?
- To "shunt?" the 8 bits down from the first register to the next and next, pin 18 (SER OUT) is connected to pin 3 (SER IN) of the next register, and so on
- Common anodes (in my case) are connected directly to 24V
- The arduino PWM signal is connected to all the output enable pins (G) - pin 9 of each register
- The arduino sends out 15 bytes at a time which fill each of the 15 shift registers
That all looks correct.
So does this mean that 15 bytes of info are sent by the arduino ever microsecond or so, hence any change in 8-bit is displayed immediately in the 7 segment displays so 100 duty cycle?
No, your sketch only sends the data when you want to change something. So for example if you were displaying the time as hh:mm you would only need to update once per minute.
And does it also mean that the dimming all the displays is controlled by a PWM signal from the Arduino to pin 9 of every shift register which essentially essentially creates a sort of duty cycle/pulse width?
Yes, your sketch can set the level with analogWrite(), again, only when it needs to change.
Maybe a question for Bob - other than the 15 shift registers, 20 pin IC sockets and 0.1uF caps for each register, is there any other basic components that I need to get started for this test?
For your small 7-seg displays, probably be ok, maybe add a 10uF for each display. For your large displays, some much larger caps, maybe 1000uF per digit.