Start designing PCB

A project log for Snake on 7-segment displays

Might be very hard to play, but will look awesome!

hari-wigunaHari Wiguna 08/10/2019 at 15:083 Comments

Is it better to have five shift registers that we could shift faster than eight shift registers?

Or is it better to display eight digits at a time, so each row would be "on" 1/5th of the time instead of 1/8th of the time?


Gerben wrote 08/11/2019 at 15:36 point

To have a full update of the display with 8 shift registers your have to send 5 times 8x8 bits.

To have a full update of the display with 5 shift registers your have to send 8 times 5x8 bits.
So you'd end up sending the same amount of data, in both cases.

  Are you sure? yes | no

Hari Wiguna wrote 08/11/2019 at 20:26 point

Makes sense. I agree. Thx!
Next question: Would the display flicker more if I use 8 transistors? That is, each group of five digits would be updated every 8 cycles instead of every 5 cycles with 5 transistors.

  Are you sure? yes | no

Gerben wrote 08/12/2019 at 19:02 point

The 5 shift register version you'd have to update a bit faster (8/5 times as fast (i.e. 60% faster)) to get the same full-screen/frame rate. But again, in this update you only need to send 5 bytes instead of 8 bytes.

Assuming your code doesn't take any time to run, and only the SPI data transfer to the shift registers takes time, both methods use the same amount of time. Because they both send the same amount of data per full frame.

You'd want the frame rate to be 100-400hz to make the flicker virtually impossible to see with the human eye.

There isn't a lot of difference in coding these two. So I'd suggest picking the one that's easiest to build/route. (for example one of them uses more IO pins, which might make it harder to route, or makes you run out of pins)

PS let me know if you have any other questions.

  Are you sure? yes | no