OK, I think I understand
OK, I think I understand what you want, and I agree that method 1 is your best shot. The only things I’m not sure of are:
1) Do you need brightness control over each individual LED, row by row, or just one just the ability to dim the entire display?
2) Would you ever have more than one color turned on at the same time in the same LED (e.g., both red and blue lit on one LED to make purple)?
Anyway, varying the voltage may be possible. In case you need it as a fall back, but mostly just to geek out and explain the idea, here’s how.
You would need a bunch of resistor networks, totaling 300 individual resistors. Each of the color control pins on each LED needs its own resistor. I don’t know the specs of your LEDS, but let’s say they are like these: http://www.superbrightleds.com/TriColor%20LED.htm
The red color has a 2.0V drop (called Forward Voltage). Green and blue have 3.5V drops.
If your power supply is 4.5v, and you want a decent brightness at max, then 20mA current is a good spot to calculate for.
The resistors connected to the red leads on your LEDs will have 2.5V across them (4.5V supply - 2.0V drop from LED). So to get the desired 20mA current, you need:
2.5V / 0.02 A = 125 Ohms
The resistors connected to the green and blue leads on your LEDs will have 1.0V across them (4.5V supply - 3.5V drop). So to get the 20mA current you need:
1.0V / 0.02 A = 50 Ohms
Assuming you are only going to turn on one color at a time for each individual LED, your max current for the display is 2.0A (100 LEDs lit at once).
Now if you were able to lower the voltage supplying the display, the current will be less and LEDs will be less bright. For example, drop the supply for the display to 4.0V. Now the resistors connected to the blue and green LEDs only have 0.5Vacross the. The voltage across the LEDs themselves stays constant. So blue and green LEDs now have 10mA of current (0.5V / 50 Ohms). You’ll have to play with your LEDs to determine the current that provides the minimum and maximum brightness you desire.
With the supply dropped to 4.0V, the red LEDs should be running at 16mA, so they would run dimmer than before, but less bright than their green and blue cousins. Therefore, you would probably need a separate voltage control for the red portion of your LEDs, but green and blue might share a supply, depending on their relative intensities at any given current.
I’m totally new to microcontrollers for robots. My first Picaxe board is on order. So I don’t know if is easy or hard to vary the voltage of an output control pin. However, if you can, it would seem to be pretty easy to implement the solution above.
This was mainly a thought experiment for me. Your conclusion that method 1 (PWM) is difficult but the best solution is probably correct.
Good luck. I can’t wait to see how your idea turns out.
Regards,
Andrew