I'm trying to use a Teensy 3.2 to control a digital scoreboard display. I'm using 6 common anode 7-seg displays controlled by two 74HC595 shift registers daisy chained to control a transistor array. (Schematic attached).
I followed this tutorial to connect the shift registers to the board using 3 output pins. I have tested and mounted the circuit onto protoboard but I cannot get the displays to light up at all. (The Teensy is powering up and excecuting code correctly).
I have tested every connection between nodes with a multimeter and there are no shorts or missing connections, but no matter what data I send the output pins all read LOW when tested with a multimeter. I know the circuit should work as I tested a condensed version with one shift register and one 7-seg display on a breadboard and all worked fine.
I aim to multiplex the displays such that only one is on at a time (selected by the first (leftmost) shift register and the number displayed driven by the rightmost chip so each LED should be able to recieve the required current from the DC source.
The schematic and test code (just lights up one display) are attached below as well as the data for the components:
Transistors: 2N5210; Displays: SA40-19EWA (8V 20mA common anode);
Any help as to what could be going on would be really appreciated as I am relatively new to digital circuits
EDIT:
The schematic shows sets of 8 LEDs in series-parallel as one LED for clarity.
int dataPin = 3;
int clockPin = 5;
int latchPin = 4;
void setup() {
pinMode(dataPin, OUTPUT);
pinMode(clockPin, OUTPUT);
pinMode(latchPin, OUTPUT);
}
void loop() {
digitalWrite(latchPin, LOW);
shiftOut(dataPin, clockPin, MSBFIRST, B11111111);
shiftOut(dataPin, clockPin, MSBFIRST, B00010000);
digitalWrite(latchPin, HIGH);
delay(1000);
}