tips to control 27 large 12V seven segment displays

Hi
I am designing a game for kids to jump on numbers. like a dancing floor. as shown on the image their are 9 separate sections. in each section 3 seven segment displays are used to display a number between 0-999.
The 3 seven segment displays in one of the 9 sections will first display number one at the start and then it will turn off, then number two will be displayed on a different section in a random order and so on.

I have seen projects that have used "TPIC6B595" chip used for one segment and attached in series for controlling 4,5 seven segment displays with only 3 arduino pins.
To be clear i don't want to light up all 27 seven segments at the same time. only 3 seven segments are light up in one of the 9 sections at one time.
So can I use 3 "TPIC6B595" connected to 3 seven segment displays for one section using 3 arduino pins. and us this arrangement for 8 other sections to control them separately.[/color]
So 3 wires from arduino to each section, 27 arduino pins in total to control everything.
Finally my question, Is it possible for the arduino to control multiple "TPIC6B595" separately (3, 6,9 wire connections with different "TPIC6B595" sets), or can it be only used to control multiple "TPIC6B595" in series connection?????
:slight_smile: :slight_smile:
SO I attache a picture on my reply below to clarify my application an requirement. What I am looking for is the best method to wire these 27 displayed so I have independent control through 9 sections of the grid.
Thank you
design.png

Hi,

More than one way to do this...

See an application note for details:

and "Cascade Operation of Multiple TPIC6595s"

Basically you can shift data into multiple chips, and after they are all loaded with the right data you can enable the outputs.

At least you could set up sets of 3 .

Somewhere I saw little breakout boards for HC595 chips; maybe you could solder the high-power version on those to make it easier? Like THESE:

Arduino Library here: GitHub - infomaniac50/Arduino-TPIC6B595

Let us know where you go...

You can use a fourth shift register for full control over the 9 fields and their displays. The 3 displays use 21 segment outputs, so that 11 outputs are left for turning on/off up to 11 fields.

Then the displays should have common anode, which must be driven by a high side switch, e.g. 1 pnp transistor + resistors for each field. Circuit details depend on the supply voltage and segment currents of the displays.

sorry if my question was not clear. I know how to control 3 seven segment displays with 3 "TPIC6B595" chips chained together to display numbers. as show on the attached image in the first step number one is displayed in top left section. then it need to power off. then number two is displayed in center section and so on the sequence continues.
what I want to know is the best method to connect all these seven segment displays (3 for each section) and control them.

  • Should I connect all 27 seven segments with TPIC6B595 chips chain together and give correct bit input to light the required number in required section an making all other seven segments zero.
    should I wire 3 "TPIC6B595" chips for each section separately. then taking another input from arduino and switching the 3 wires going from arduino to the 3 "TPIC6B595" chips for the required section (location on the 9 section grid). using a switching method like relays.
  • should I wire 3 "TPIC6B595" chips for each section separately and wire 3 controlling wires separately for each sections. so 27 wires from the arduino to control 3 sets of "TPIC6B595" chips in the 9 section grid separately. can the arduno send separate bite outputs using separate wires at the same time

Or any other better method for the application

A seven segment display has 7 segments, or 21 segment cathodes (-) for 3 digits. These segments can be connected in parallel for all fields, to 21 TPIC outputs.

Every display has a common opposite electrode, which should be the anode of every digit. There exists displays with anodes and cathodes reversed, we need these with common anodes. A transistor is needed for the high side switch, that turns on just the display anodes (+) of the currently active field. This sums up to 9 outputs for the 9 fields, and a total of 30 outputs from the 32 outputs of 4 TPICs. And all that can be controlled from 3 Arduino pins for the shift registers.

Hi,
How big are the displays, what is their power requirement?
Volts, Current per segment?
Common Anode or Cathode?

Thanks.. Tom.. :slight_smile:

Hi,
I think this is what you are thinking, it is only a concept, not proven.
For ONE Column of THREE Rows of three digits.
To expand you could just add two more of these modules.
OR
Use the same three 595 and add the other columns in parallel, with each three digits having their own P-CH MOSFET to select which display array.


Just a thought.
Please any other ideas accepted, criticisms ignored :slight_smile: :slight_smile: :slight_smile:

Tom.. :slight_smile:

DrDiettrich:
A seven segment display has 7 segments, or 21 segment cathodes (-) for 3 digits. These segments can be connected in parallel for all fields, to 21 TPIC outputs.

Every display has a common opposite electrode, which should be the anode of every digit. There exists displays with anodes and cathodes reversed, we need these with common anodes. A transistor is needed for the high side switch, that turns on just the display anodes (+) of the currently active field. This sums up to 9 outputs for the 9 fields, and a total of 30 outputs from the 32 outputs of 4 TPICs. And all that can be controlled from 3 Arduino pins for the shift registers.

Thanks.

If this is for a big dance floor, then wiring (how many, how long) might be the deciding factor.
One TPIC6B595 per 7-segment, three on a piece of veroboard, could be cheaper and easier than a matrix.
TPIC6B595 chips are $0.50 on ebay.
You might have to use a lower clock speed and/or buffers for 27 chips and if wiring is long.
Leo..

TomGeorge
they are 12v and 20mA
Comman anode

@Wawa
the wiring will be 2 meters long max