This will be a mostly Analog Electronics post...
In a project I made with friends we had a Raspberry Pi driving a MAX6957 for driving some LEDs. The MAX6957 was connected to the SPI bus of the RPI and the driving functions were developed in python (if you're interested in this you can post a question in the comments but if google it it's faster).
We were driving a few piranha RGB LED but then we bought a bigger LED (something like this one). In order to keep the software simple and unchanged I wanted to use the MAX to drive the bigger LED. If the MAX drives the LEDs with a current source that can be stepped (in 16 equal current steps), so I would have measure the current of the MAX and amplify it for the new LED.
This is what I've done:
First I have a current mirror, as the MAX sinks current I used PNP transistors, on the other side I have a small resistor to convert current into voltage.
This voltage drives a voltage to current converter with a protection for over current (in case the MAX is removed, goes crazy or it's output is miss configured). Then repeat for each of the 3 channels.
beauty and the beast
4 weeks ago