Statement: Driving Pinlight Lamps is very challenging. The design requirements are 4vdc @ 15ma per segment, if you are interested look here.
So for the 7-segment displays total current is 7 x 15ma. or 105 ma. Now multiply that by 19 displays x 150ma or 1995 ma or just under 2 amps. For the 16-segment displays, which there are 4 the total current is 16 x 4 x 15ma or 960 ma or just under 1 amp. An Arduino can't even handle on segment. So I need to buffer the displays from the arduino.
Plan: By the use of complementary BJT that is to say with a PNP Collector connected to the Power Rail and a NPN Emitter connected to ground. By using the BJTs I can switch columns from NPNs Base and each lamp segment from the PNPs Base. I don't think I will need a limiting resistor on between the Power Rail and the NPNs Collector.
Most likely I will be using 2 BCD to 7-segment encoder as problems with fan out might occur. The 4 16-segment lamps will be driven directly from one 16-bit port. So using a quick math of total-segments == (16x4) + (7x19) == 64 + 133 = 197 segments! At .2 seconds per segment = 39.4 seconds to access all 197 segments. Uyk! If I ran the multiplexer twice that speed or rather half the total time per segment = 17.2 seconds. Better but still cruddy. So what would happen If I divided the tasks?
Possible Solution 1: use four separate 74LS247 BCD to 7-Segment Decoders, each one called port A, port B, port C, port D and one Port E (16-bits). By using 3 x BCD to 1 of 8 decoders 74LS138 ganged together with out using other gates.
Possible Solution 2: The mega has 50 odd digital ports? so 50/3 = 17 so I only need 6 more digital ports. here is my pin list: (NOPE!!)
|Reference||Display 0||Display 1||Display 2||Display 3||Display 4|
|Display 5||Display 6||Display 7||Display 8||Display 9|
Possible Solution 3: In reality this will be the way to go. 1 will be using I2C 16-bit io-expanders I can use 15 bits from each expander to run 5 lamps. So this implies I will need 4 expanders to run the lamps. Now I can use 16 digital I/O or one more expander for the data lines for the 16-segment displays. (WINNER-WINNER-CHICKEN DINNER)