Led Ansteuern über Arduino

Guten abend Freunde Arduino, ich Habe vor 40 Led Dioden gleichzeitig anzusteuern, haber direkt
über den Arduino Mega 2560 geht nicht weil der Controller max 200 millianmpere liefern kann.
Würde wahrscheinlich über Transistoren gehen da der Steuerstrohm in microamper ist.
Haber 40 Transitoren zu Löten in einer Platiene ist zu aufwändig ,meine Frage ist kann man
villeicht Transistoren auf basis IC kaufen danke

Moment.
Willst Du 40 LED gleichzeitig oder unabhängig ansteuern?

Das wird wohl auf Letzteres rauslaufen.
Dafür brauchst keinen Transistor.

Suche nach LED Driver.

Bei TI: z.B.

Suche mal nach NeoPixel, DotStar, WS2812, WS2815, APA102 LED-Streifen. Eine gute Übersicht bietet Adafruit.

Den Matrix.IC habe ich übersehen.

@TO: Ansteuerung einfarbige LED an/aus?

Gruß Tommy

Kein Problem :wink:
Ich hätte von dem auch nicht gewusst, wenn ich den nicht in einer Sharkoon-Tastatur gefunden hätte.
Ich hab nur bei TI kein Dabla gefunden.

@Salvo1969
Hier kannst Du Deine Auswahl einschränken.
https://www.mouser.de/Search/Refine?FS=TRUE&N=13413255+4292906361

Nachtrag:
Der ist schick:

Danke für die hilfe ,die Kommunikation zwichen den Led Driver und den Mega 2560 geschiet Seriel ? damit der Kontroller weisst welche Port er Schalten soll. Haber Die Led dioden Sollen allen
unabhängig Leuchten

SPI.
Also MOSI, MISO, CLK, und ein Pin für das CS-Signal.

Und ja, Du kannst dann jede LED einzeln ansteuern.
Und zudem auch noch via PWM die Helligkeit - für jede einzeln - steuern...

Das Mega2560 soll nach einen Ereigniss ein Led zum Leuchten bringen lassen
un soll auch bleiben wenn es True ist . Geschiet ein zweites ereigniss soll das zweite Led leuchten un soll auch bleiben wenn es True ist usw biss 40.
Aber die haben mitteinanander nicht zu tun danke.

Weil mit diesem Driver sind 4 Led mit Katode zusammen gebunden die Leuchten gleichzeitig oder?

Das reine Programmierarbeit.

Nein.
Das ist die Auswahl der Ebene.
Bei diesem Chip werden 24 LED je Ebene betrieben.

Für den gibts sogar eine Lib.

Gruß Tommy

1 Like

Sternchen fürs raussuchen!
Aus der Beschreibung:

@Salvo1969 Das ist Dein Chip!

Zum Ansteuern von LEDs gibt es u.a. folgende LED Treiber ICs

  • MAX7219 / MAX7221
  • HT16K33
  • SX1509

Der MAX7219 hat eine SPI ähnliche Schnittstelle in einer Matrix kann er 8x8 = 64 LEDs individuell ansteuern. Er ist kaskadierbar, das heißt an einer Chip-Select Leitung kannst du mehrere ICs ansteuern. Der Max7219 wird gerne für 7 Segment Anzeigen verwendet, es gibt auch Fertigmodule Fertigmodule mit 8x8 Matrixen.

Der HT16K33 ist über I2C steuerbar, du kannst aus 16 Adressen auswählen. Pro IC können 8 x 16 LEDs angeschlossen werden. Es gibt auch fertige 7 Segment Anzeigen beim freundlichen Chinesen/Aliexpress findest du auch Alphanumerische Anzeigen.

Auch der SX1509 ist über I2C steuerbar, du kannst aus 16 Adressen auswählen. Der SX1509 kann 8 LEDs ansteuern. Jede LED kann mittels PWM individuell vom IC gedimmt werden.
Der SX1509 kann Ausgänge selbständig "blinken", pulsen ohne den Microcontroller zu belasten. D.h. du schickst einmal einen Blink-Befehl an den SX1509 - und dieser erledigt den Rest. Er eignet sich auch zum Auslesen von Tasten-Matrixen und zum pegelschiften.

Ick bin mal frech und behaupte, das Du das mit der Platine selber bauen nicht machen willst.

Dann zwei fertige davon:

Danke für die Hilfe, was passiert wenn die Serielle Komunikation von Arduino Mega 2560 gleichzeitig auch am pin der Porterweiteung MCP23017 ist pin 12 SCL ,pin 13 SDA gibt da Konflikte mit den Driver?

SDA/SCL, also I2C, ist ein Bus. Du kannst daran mehrere Geräte anschließen, wenn diese unterschiedliche Adressen haben.

Gruß Tommy

Danke das bedeutet ich Kann gleichzeitig den Driver Und den MCP23017 ansprechen?

Welchen meinst Du? Bitte sei etwas konkreter.

MCP23017 und "Adafruit 16-Channel 12-bit PWM/Servo Driver - I2C interface - PCA9685" nutzen beide den I²C-Bus, werden also parallel an SDA und SCL angeschlossen. Unterschieden werden sie mit Adressen und können quasi gleichzeitig angesprochen werden.

SPI und I²C sind unterschiedliche Busse an unterschiedlichen Pins.

Die von mir in #3 erwähnten LED-Streifen kommen nicht in Frage?

Danke für die hilfe ich bin ein bisschen vervirrt, in meinen fall
steuer ich über die serielle I²C-Adresse 8 Stück MCP23017 Addressiert 0X20, 0X21,0X22,0X23, 0X24, 0X25,0X26,0X27 über SDA-SCL.
8 Stück werden schön von den Arduino Mega 2560 angesprochen , könnte ich weiteren MCP23017 in den gleichen Bus anbinden un Ansprechen um meinen 40 Led zu Steuern danke -

Oder muss ich Parallell zu den 8 MCP23017 , anderen Led Driver mit I²C-Adresse
die an den gleichen Bus angeschlossen sind.