PWM Erweiterung für Arduino + RGB Stripe

Hallo, ich habe folgendes Problem:

Ich hab einen Arduino, aber der könnte für die Zukunft zu wenig PWM-Pins haben. Gut, TLC5940 ins Auge genommen, aber der hat das Problem das man von dem Ja nur GND geschalten bekommt und die LED's direkt an +5V (oder was auch immer) hängt.

Meine aktuelle Schaltung ist in etwa so:

Arduino => IRLML2502 (N-Ch. Logic Level Mosfet bis 4,xA und max. 20V => Perfekt + Arduino-Pin natürlich mit Pulldown Widerstand um einen unkontrollierten Pegel zu vermeiden) => RGB Stripe mit gemeinsamer Plus-Leitung.

Aber der Arduino gibt doch Positive Spannung aus und der TLC5940 eben leider GND => Wie kann man das relativ simpel umschiffen so das ich an einen PWM-Bauteil den besagten IRLML2502 dran hängen kann? Muss nicht unbedingt der TLC5940 sein und ob per SPI oder I2C angesteuert ist mir auch egal, aber hauptsache das ganze ist relativ simpel umzusetzen.

Da machst es dir glaube ich unnötig kompliziert. Warum ist das ein Problem, die Leds mit GND zu schalten? Die 74HC595 könnten current source.

Es ja nicht GND/Plus, sondern ein Open Collector Ausgang. Also bräuchte man noch einen Pullup-Widerstand.

Es gibt bessere PWM ICs: http://www.exp-tech.de/Shields/Adafruit-16-Channel-12-bit-PWM-Servo-Driver-I2C-interface-PCA9685.html

Das hat auch den Vorteil, das man anders als beim TCL nicht ständig Daten schicken muss. Man setzt einmal die Zeit und dann oszilliert das Ding von selbst. Und die Ausgangs-Stufe ist auf Push-Pull einstellbar.

Oder als Shield: http://www.exp-tech.de/Shields/Motorsteuerung/Servomotor/Adafruit-16-Channel-12-bit-PWM-Servo-Shield-I2C-interface.html

Der Tipp mit dem PCA9685 ist gut. Muss ich mir mal genauer ansehen.

Das Problem an den Shift registern als solchen ist ja, das viele während dem Daten durchschiffen flackern.

Lg

Nur wenn man welche verwendet die nicht gelatcht sind, z.B. HC164. Die HC595 sind haben Zwischenspeicher.