Hallo, ich habe vor, mir ein Display aus LEDs zu bauen (als Partybeleuchtung). Die Idee ist, 180 LED zu nehmen und diese mit Schieberegistern anzusteuern. Dazu habe ich ein paar Fragen. Da ein Schieberegister acht Ausgänge hat, bräuchte ich davon 23, welche ich kaskadieren würde (wie im Schieberegister-Tutorial beschrieben). Das würde bedeuten, dass der uC 23 mal per SPI Daten ausgeben würde, bevor alle Register beschrieben sind. Das Ganze würde ja eine Sache von wenigen Mikrosekunde sein, also sollten auch Animationen der LEDs mit z.B. 30 Wechseln pro Sekunde möglich sein? Desweiteren frage ich mich, welche Schieberegister ich nehme. Die im Tutorial können zwar 8 LEDs schalten wenn man je 4 mit GND und 4 mit VCC schaltet, aber es gibt doch sicherlich auch welche, wo ich der Einfachheit halber alle LEDs mit VCC bzw. Masse schalten kann, hat da jemand nen Tipp? Ich habe leider keine Übersicht über verfügbare Schieberegister. Vielen Dank im Voraus Kai
Bist du wirklich sicher, dass du jede einzelne LED über einen Ausgang eines Schieberegisters ansteuern willst? Üblicherweise macht man so etwas in einer LED-Matrix (die trotzdem beliebig angeordnet sein kann) mit dem Multiplexverfahren. Typ. Beispiele sind sog. LED-Cubes oder das Pong von B. Kainka/ELO/CONRAD/FRANZIS (120 LED, Atmega8) oder z.B. das Peggy von Evilmadscientist (25x25=625 LEDs mit ATmega164P http://www.evilmadscientist.com/article.php/peggy). Bei 180 LED käme man so auf max. vier 8-Bit Schieberegister.
Stefan B. schrieb: > Üblicherweise macht man so etwas in einer LED-Matrix (die trotzdem > beliebig angeordnet sein kann) mit dem Multiplexverfahren. Schon klar. Allerdings sei auch nicht verschwiegen, dass man dann einen nicht unerheblichen Verkabelungsaufwand hat. Wenn die LED weitgehend in Matrixform physisch angeordnet werden sollen, ist das kein Thema. Wenn die LED aber in einem Strang angeordnet werden, dann ist ein Schieberegisterbus verdrahtungstechnisch um einiges weniger Aufwand. Wobei man bei derartig vielen SR hintereinander das Taktsignal zwischendurch eventuell wieder aufbereiten muss bzw. die Taktrate absenken muss.
Statt 74HC595 könntest du Konstantstromtreiber wie TB62705 nehmen, das spart die Vorwiderstände. TLC5940 bzw PCA9532 dimmen gar von alleine. Natürlich ist das eine Preisfrage. Ausserdem hast du NATÜRLICH nicht gesacht, welchen Strom deine LEDs brauchen, vielleicht brauchst du einen PIC6B595. Die von Stefan vorgeschlagenen Multiplexanzeigen sparen keinen Strom, bewirken aber ein Flimmern und werden leider oft falsch berechnet, daher ist deine Schieberegisterlösung schon in Ordnung.
Hi, erstmal Danke für die Antworten. Das mit der Taktaufbereitung verstehe ich nicht ganz. Das Taktsignal soll vom Mikrocontroller aus auf alle Schieberegister gehen. Konkret bedeutet dies, dass Der SPI-Taktpin mit dem Taktpin jedes Schieberegisters verbunden ist. Wo muss ich da einen Takt aufbereiten?
ich habe ein led display mit 3.840 leds gebaut. Das ganze wurde in 30 einzelmatritzen gesplittet und als matrix angesteuert: 16 zeilen x 8 spalten. Das hat super funktioniert. Du könntest auch mit der zeilen anzahl hinauffahren, ich war damals nur eigeschränkt weil alle restlichen i/o pins schon belegt waren. Aber zb 20 x 8 matrix ist durchaus machbar. Mit den spalten würde ich allerdings nicht hinauffahren, weil die helligkeit (gemultiplext) darunter leidet. Also nur wenn du wirklich gute leds hast. Damals das display war für outdoor, also musste die helligkeit groß sein. Vielleicht genügt für dich auch eine geringere. Kurz gesagt: würds wieder als matrix aufbauen. Cheers
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.