LED Driver Board¶
The LED Driver Board is a 24-channel LED driver board that communicates over I2C. Each individual LED channel can be turned on, off, set to a particular brightness (256 steps), or programmed for group dimming or blinking.
The board can be powered with up to 40V, but 24V or 12V is recommended.
By combining three channels, one can drive an RGB led.
Flasher LEDs are 12V, General Illumination LEDs are 6.3VAC, generally. The difference in #44 and #47 Bayonets is the current they draw, 250 mA and 150 mA respectively for non-LED bulbs. For LED bulbs we should be able to use 100 mA per bulb, according to this.
LED bulbs can work in both 6.3VAC and 6.3VDC generally, see here. We might need a step-down/buck converter, ideally switching instead of linear to reduce power losses? The LED driver board should be connectable to any voltage source, 12V or 6.3V or whatever.
The ULN2803 is often used for LED drivers, which has a high-voltage and high-current darlington transistor array for switching 8 relays. The chip operates at 5V TTL levels (but for very light loads might also work at 3.3V). The COM pin is only used for the flyback diode for inductive loads (like bulbs) and does not need to be connected for resistive loads (like LEDs). You can connect the pin to ground to light all the LEDs, as a test point, see here. It can drive up to 500 mA on each pin.
We could do PWM for dimming.
We would build a lamp matrix, maybe? A lamp matrix is quickly pulsed, which works great for incandescent bulbs that glow, but might not work as well for LEDs that can turn on and off quickly.
Some lamps are bi-directional, in which case they need an external diode to be used in a lamp matrix.
Perhaps we can make a kind of PWM by strobing rows and columns in a lamp matrix. PROC by default strobes 100 ms (but not sure what it means to strobe 100ms). Due to the strobing, the effective voltage goes down (e.g., lamps receive effecitvely 6.3V through strobing at 18V).