Hi! Ich soll eine LED-Tafel bauen, die die Zahlen 1-5 darstellen können soll und sonst nichts. Bei einer Auflösung von 10x10 Punkten macht das 100 LEDs, minus die Punkte, die nie gebraucht werden, brauch ich vielleicht 40..60 Ausgänge. Jetzt kann man die Steuerung ganz einfach über eine Diodenmatrix realisieren. Ich dachte aber eher an ein (kaskadiertes) Schieberegister, habe ich aber noch nie gemacht. Daher meine Frage: Welche Bausteine verwendet ihr da? Gibt es die Dinger auch mit Enable-Eingang, den man zum Dimmen (PWM mit vielleicht 500Hz) verwenden kann? Oder gibt es 16 Bit-Versionen, um die Anzahl ICs zu senken? Ich könnte "passende" ICs natürlich auch mit Slave-Controllern mit 40 Pins oder so nachbilden, aber das wäre unnötiger Aufwand wenn es solche ICs irgendwo fertig aus der Schublade gibt. Danke euch!
magic s. schrieb: > Bei einer Auflösung von 10x10 Punkten macht das 100 > LEDs, minus die Punkte, die nie gebraucht werden, brauch ich vielleicht > 40..60 Ausgänge. Für die paar Ziffern wirst du möglicherweise auch LEDs gemeinsam ansteuern können. Dazu müsstest du mal einen Blick in deinen Character Generator werfen.
holger schrieb: >>Daher meine Frage: Welche Bausteine verwendet ihr da? > > WS2812 oder APA102. Man lernt nie aus. Geile Teile. Wieder was kennengelernt. Was hat man sich vor 20 Jahren noch abgemüht und LED Matrizen über riesige Schieberregisterketten angesteuert... ;-)
Matz K. schrieb: > holger schrieb: >>>Daher meine Frage: Welche Bausteine verwendet ihr da? >> >> WS2812 oder APA102. > > Man lernt nie aus. Geile Teile. Wieder was kennengelernt. > Was hat man sich vor 20 Jahren noch abgemüht und LED Matrizen über > riesige Schieberregisterketten angesteuert... ;-) Heute benutzt man immer noch Schieberegisterketten wenn sie sinnvoll sind.
:
Bearbeitet durch User
Muss es ein Schieberegister sein? Kann es vielleicht auch ein Arduino mit einem LOL-Shield sein? http://www.watterott.com/de/Boards-Kits/Arduino/LoL-Shields LOL == Lots Of Leds (126 Stück) Diese werden mit dem sogenannten Charlieplexing angesteuert, von allen LEDs leuchtet (blitzt) immer nur jeweils eine einzige so kurz auf, dass sogar auf Vorwiderstände verzichtet wird. Oder Du baust eine Siebensegmentanzeige mit LEDs auf, dann brauchst Du auch nur 7 Schaltausgänge.
wenn nicht alle gebraucht werden könnte man vielleicht auch mal einen max7219 anschauen. Der wird auch als 7Segment Treiber genutzt bzw bei 8x8 Matrixen. 10x10 ist nen bisschen klein für einen Holtek HT1632.. der kann bis 24x16 oder 32x8
:
Bearbeitet durch User
Ich verwende meistens 16bit konstantstrom Schieberegister. Die gibts von unterschiedlichen Herstellern mit mehr oder weniger Funktionen. Sehr günstig sind z.B. SCT2024 (bei tme) oder MBI5024 (bei aliexpress).
BirgerT schrieb: > Muss es ein Schieberegister sein? > > Kann es vielleicht auch ein Arduino mit einem LOL-Shield sein? > http://www.watterott.com/de/Boards-Kits/Arduino/LoL-Shields > LOL == Lots Of Leds (126 Stück) > > Diese werden mit dem sogenannten Charlieplexing angesteuert, von allen > LEDs leuchtet (blitzt) immer nur jeweils eine einzige so kurz auf, dass > sogar auf Vorwiderstände verzichtet wird. Coll, immer wenn man denkt, dümmer geht's nimmer, kommt ein Arduino, von hirnlosen Deppen für blutigen Laien, und macht es noch schlimmer als man je in seinen Alpträumen ahnte. Hauptsache ein spaciger Name, dann verkauft sich fast alles wie geschnitten Brot.
MaWin schrieb: > Coll, immer wenn man denkt, dümmer geht's nimmer, kommt ein Arduino, Naja beste Idee war das nicht, stimmt schon.. Aber deine erhabene profiliererei zeugt nicht von fachmännischer Natur.
DOCH! Was ist am Arduino schlecht? Da geht z.B. sowas (und natürlich auch mit ganz einfachen Darstellungen): https://www.youtube.com/watch?v=NUpaGlB6DAI
>Ich soll eine LED-Tafel bauen, die die Zahlen 1-5 darstellen können soll >und sonst nichts. Bei einer Auflösung von 10x10 Punkten macht das 100 >LEDs, minus die Punkte, die nie gebraucht werden, brauch ich vielleicht >40..60 Ausgänge. Aber woher soll die Tafel wissen, welche Ziffer sie darstellen soll? Wie soll die Tafel mit Spannung versorgt werden? Wo ist das Limit für den euronalen Aufwand? Achim Seeger hat hier etwas mit einem HT16K33 gemacht.. Beitrag "Problem mir GCC - löschen von LED" und für alle "Mein Arduino Will Immer Nich'" - Charlieplexing geht auch mit anderen Boards - aber 100 LEDs auf Lochraster und frei verdrahtet..? - Beim LOL-Shield wäre die Platine schon in drei verschiedenen Größen fertig. Oder ein fertiger Bausatz wie dieser hier http://www.elv.de/id100-info-display-tischanzeige-bausatz.html augenscheinlich gibt's die Franzis Ping Pong Platine nicht mehr.. ..und wenn es Schieberegister für LEDs sein soll, ich bin von diesem Teil mit TLC59116 begeistert http://www.elv.de/led-i2c-steuertreiber-16-kanaele-bausatz.html Tja und ganz billig wäre dann eine Siebensegmentanzeige aufzubauen, je Segment 3..6 LEDs mit Vorwiderstand in Reihe und einen 7447 als Steuerbaustein. Die Ziffern dann BCD kodiert an die 4 Eingänge des 7447 schalten (Drehschalter 5 Stellungen und 4 Ebenen). Eigentlich ginge es mit dem italienischen 328er Board und dem LOL-Shield am besten, als Spannungsversorgung habe ich so einen Not-Lade-Akku (Powerbank) verwendet, um den Arduino und das Shield über die USB Buchse mit Spannung zu versorgen. Ein weisses Blatt Papier als Diffusor über die LEDs gespannt, dann kann man's sehen.
Frank E. schrieb: > Was ist am Arduino schlecht? Die Anwender, wie BirgerT und unbekannt. Da trifft wirklich Dumm auf Dümmer. Wie ein BirgerT, der nicht begreifen will, daß eine Matrix, von der nur 1 LED zu einer Zeit leuchtet, absoluter Schwachsinn ist, wenn man viele LEDs auf ein mal leuchtend haben will. Wenn man für eine ordentliche Darstellung einer Ziffer so 60 LED der 120 LED des LOL Boards leuchten lassen will, erscheint die einzelne LED natürlich 60 x dunkler als die es bei Dauerstrom wäre, bzw. braucht den 60-fachen Strom damit sie gleichhell erscheint. Keine LED hält den 60-fachen Normalstrom aus, meist ist bei 10-12 fach Schluss laut Datenblatt. Zudem: Welchen Strom ? Eine Katastrophen- Schaltung, die ohne Vorwiderstand arbeitet sondern sich auf die Ausgangswiderstände der Treiber verlässt, kann den Strom gar nicht so genau an den Maximalstrom anpassen, weil Bauteiltoleranzen locker 1:4 Unterschied im Strom bewirken - teilweise von LED zu LED, was zu deutlich erkennbaren unterschiedliche hellen Punkten führt, wenn man es nicht durch unterschiedliches Tastverhältnis ausgleicht. Wer ein LOL Board kauft, darf sich nicht wundern, wenn andere, die merken wie wieder ein Dummer auf einen dreisten Verkäufer reingefallen ist, dabei laut lachend auf dem Boden rumrollen.
@MaWin: Dumm ist nicht der, der nichts weiß, sondern der, der nix dazu lernen will. Und dümmer ist der, der keine Ahnung von dem hat, was bei anderen "Idioten" bewiesenermaßen funktioniert (auch bei mir), und stock und steif darauf beharrt, dass das nicht funktioniert. Also frag' nach und höre auf zu jammern, dass das gar nicht funktionieren kann, weil Du es nicht verstehst. Ausser Beleidigungsversuchen (Inkompetenz Kompensationskompetenz als Kernkompetenz) hast Du ja noch keinen Vorschlag gebracht.. ..rennt gegen eine Litfaßsäule, und heult dann, dass er eingemauert ist, weil er keine Öffnung ertasten kann..sowas nee..
Was heißt überhaupt »darstellen«? Zahlen ließen sich bspw. binär darstellen, d.h. für die Werte 1-5 brauchts ca. 3 bit, mithin genügen 3 LEDs. Bei Mediävalziffern wirds komplizierter, weil 3, 4 und 5 Unterlängen bekommen. Wenn es nur um die üblichen BCD (binary coded decimals) -Anzeigen geht, würde ich von Schieberegistern absehen und dafür vorgesehene integrierte Schaltungen und Anzeigeelemente verwenden. Die Stellenzahl wäre noch interessant, dann kann man den Baustein besser auswählen.
magic s. schrieb: > Ich soll eine LED-Tafel bauen, die die Zahlen 1-5 darstellen können soll > und sonst nichts. Bei einer Auflösung von 10x10 Punkten Die völlig sinnlos ist... Für Ziffern genügen 3x5 Punkte pro Digit, von denen zwei niemals benutzt werden, also effektiv maximal 13 LEDs. > brauch ich vielleicht > 40..60 Ausgänge. Für 13, in beliebiger Kombination ansteuerbare LEDs benötigst du genau 8 Portbits. Diese acht Portbits reichen aber auch für 16 LEDs. Da bleibt gut Luft für variable Digit-Trennzeichen... Wenn du wirklich nur die Ziffern von 1..5 und keinerlei Trennzeichen darstellen musst, kann man mit Sicherheit mindestens noch einen weiteren Portpin einsparen, weil dank der nicht darzustellenden "8" niemals die Situation auftritt, dass alle 13 LEDs gleichzeitig leuchten müssen. Vermutlich sind es sogar noch mehr, ich habe aber keine Lust, dir diese Denkarbeit auch noch abzunehmen. Am Ende würde es wohl auf 6 wirklich nötige Portpins hinauslaufen. Wer dafür Schieberegister benötigt, hat echt einen an der Waffel...
BirgerT schrieb: > @MaWin: > Dumm ist nicht der, der nichts weiß, sondern der, der nix dazu lernen > will. > Und dümmer ist der, der keine Ahnung von dem hat, was bei anderen > "Idioten" bewiesenermaßen funktioniert (auch bei mir), und stock und > steif darauf beharrt, dass das nicht funktioniert. > Also frag' nach und höre auf zu jammern, dass das gar nicht > funktionieren kann, weil Du es nicht verstehst. > Ausser Beleidigungsversuchen (Inkompetenz Kompensationskompetenz als > Kernkompetenz) hast Du ja noch keinen Vorschlag gebracht.. > > ..rennt gegen eine Litfaßsäule, und heult dann, dass er eingemauert ist, > weil er keine Öffnung ertasten kann..sowas nee.. Vielleicht funktioniert es ja. Aber wie? Schau dir mal den Schaltplan an. Das Ding ist der reinste Pfusch. keine Treiber, keine Stromlimitierenden Bauelemente (Widerstände, Konstantstromquellen). Sowohl Leds als auch µC werden weit außerhalb der Spezifikationen betrieben. Wenn du Pech hast geht irgendwann der µC, die Leds oder beides kaputt (wobei man bei so einem Aufbau dann wohl nicht von Pech sprechen kann). Die Helligkeit wird auch bescheiden sein. In der Sonne wird man nichts mehr erkennen. Bevor du andere zu Unrecht beleidigst, solltest du erstmal die Fakten überprüfen und die sprechen klar gegen das Board.
Wie wäre es mit einer 7-Segment-Anzeige? Schalte alle LEDs mit gleichem Buchstaben an einen gemeinsamen Treiber (MosFet/Transistor). Insgesamt bauchst du dann 7 I/Os, oder ein x-beliebiges Schieberegister zum Ansteuern der 7 Treiber.
1 | _ _ _ |
2 | | _| _| |_| |_ |
3 | | |_ _| | _| |
4 | |
5 | .abbbbbbc. ........c. ..bbbbbbc. ..bbbbbbc. .a......c. .abbbbbb.. |
6 | aabbbbbbcc ........cc ..bbbbbbcc ..bbbbbbcc aa......cc aabbbbbb.. |
7 | aa......cc ........cc ........cc ........cc aa......cc aa........ |
8 | aa......cc ........cc ........cc ........cc aa......cc aa........ |
9 | .addddddc. ........c. ..ddddddc. ..ddddddc. .addddddc. .adddddd.. |
10 | .eddddddf. ........f. .edddddd.. ..ddddddf. ..ddddddf. ..ddddddf. |
11 | ee......ff ........ff ee........ ........ff ........ff ........ff |
12 | ee......ff ........ff ee........ ........ff ........ff ........ff |
13 | eeggggggff ........ff eegggggg.. ..ggggggff ........ff ..ggggggff |
14 | .eggggggf. ........f. .egggggg.. ..ggggggf. ........f. ..ggggggf. |
magic s. schrieb: > Ich soll eine LED-Tafel bauen, die die Zahlen 1-5 darstellen können soll > und sonst nichts. Einfarbig oder RGB? avr schrieb: > Sehr günstig sind z.B. SCT2024 (bei tme) oder MBI5024 (bei aliexpress). Solche 16-Bitter mit Konstantstrom sind heutzutage immer noch das Mittel der Wahl, wenn es preiswert sein soll. Viel preiswerter als WS2812 oder APA102. PWM kann der µC über SPI machen, wie bei "Screen-Modules" für Großbildschirme: https://learn.adafruit.com/32x16-32x32-rgb-led-matrix?view=all Der SCT2024 im Gehäuse mit 1.27mm Pitch ist gut lötbar. Ansonsten kann man auch einen Colorduino für monochrome LEDs nehmen, aber dann hat man wieder das Problem, dass LEDs mit dem 8-fachen Strom nicht achtmal so hell leuchten und bei 1/8-Scan dunkler sind als im Dauerstrich-Betrieb.
Mit einem BCD zu 7-segment decoder (z.B. CD4511) reichen dir sogar 3 IOs aus.
Joe F. schrieb: > Mit einem BCD zu 7-segment decoder Nur ist so ein Decoder heutzutage teurer als ein paar gesparte GPOIs am µC und er hat auch keine geregelten Konstantstromausgänge.
:
Bearbeitet durch User
Boris O. schrieb: > Was heißt überhaupt »darstellen«? Zahlen ließen sich bspw. binär Ist das wirklich so schwer zu erraten? Kreativ wäre der Beitrag gewesen, hättest du wenigstens gefragt, ob arabische oder römische Ziffern angezeigt werden sollen. Der hilfreiche Vorschlag, die Zahlenwerte durch unterschiedliche Helligkeiten einer Led (somit 1 Bit) darzustellen, fehlt diesem Thread auch noch. Ich vermisse auch noch Entgegnungen der Preisklasse "Da du nicht gesagt hast, wofür du das eigentlich brauchst, können wir dir nicht raten, ob zum Beispiel eine Sprachsynteseanlage viel besser wäre." --- Im übrigen habe ich manchmal den Verdacht, dass das billigste (weil ohnehin vorrätig) und flexibelste Schieberegister eine Handvoll Atmel/PIC/Microcontrollerdesvertrauens mit passender Haxen-Zahl ist. Dem kann man sogar das Charactergenerieren und das PWMen einprogrammieren, was die Shifterei auf die zu anzuzeigende Ziffer reduziert.
avr schrieb: > Vielleicht funktioniert es ja. Aber wie? Schau dir mal den Schaltplan > an. Das Ding ist der reinste Pfusch. keine Treiber, keine > Stromlimitierenden Bauelemente (Widerstände, Konstantstromquellen). > Sowohl Leds als auch µC werden weit außerhalb der Spezifikationen > betrieben. Wenn du Pech hast geht irgendwann der µC, die Leds oder > beides kaputt (wobei man bei so einem Aufbau dann wohl nicht von Pech > sprechen kann). Also ich habe mir das Teil mit den 10mm blauen LEDs und 'nen Arduino dazu gekauft, weil ich neugierig bin und selber testen wollte, ob und wie das funktioniert. > Bevor du andere zu Unrecht beleidigst, solltest du erstmal die Fakten > überprüfen und die sprechen klar gegen das Board. Wen habe ich wie beleidigt? Muss ich beleidigt sein, wenn mir jemand öffentlich schreibt das "dumm auf dümmer" trifft..? Fakten überprüfen -Check: o.K. funzt - langweilig - ab in die Kiste.. Habe es mal ausgegraben und Fotos gemacht. Das ganze kann mit einer USB Powerbank mobil und lange laufen. > Die Helligkeit wird auch bescheiden sein. In der Sonne > wird man nichts mehr erkennen. Solange man die Fakten nicht überprüft, wird's man auch nicht erfahren. Blatt Papier drüber und mit Blitzlicht - Herz ist erkennbar. Und ich gehöre auch nicht zu den Arduino Anwendern, eher zu denen, die über den Tellerrand schauen und etwas neues entdecken..
Wie hell das Ding bei dir ist hängt immer noch von dem Abstrahlwinkel der Leds, Umgebungshelligkeit und auch von dem Gesamtstrom der Schaltung ab. Ich wette die Stromaufnahme dieses Boards ist alles andere als proportional zu den angesteuerten Leds. Du kannst ja mal (fast) alle Leds anmachen und draußen in die pralle Sonne stehen. Wenn du dann noch ein Bild machst, bei dem die Leds nicht frontal in das Objektiv schauen, sondern z.B. im Winkel von 45°, dann bin ich sehr gespannt was man noch erkennt. Ansonsten kannst du mal ins Datenblatt vom Atmega schauen. Die Angaben unter absolute maximum ratings werden bei dem Board einfach ignoriert. Maximaler Strom eines Pins liegt bei 40mA. Bei einem gesamten Port 100mA. Wenn man sich daran halten würde, bekäme jede Led einen Strom von 40mA/11/12 < 400µA.
BirgerT schrieb: > Diese werden mit dem sogenannten Charlieplexing angesteuert, von allen > LEDs leuchtet (blitzt) immer nur jeweils eine einzige so kurz auf, dass > sogar auf Vorwiderstände verzichtet wird. Da steht aber nur, daß es ne 14*9 Matrix ist. Man kannn also 14 LEDs gleichzeitig anschalten und 1:9 multiplexen. Leider ist nirgends ein Schaltplan (PDF, PNG) zu finden, wie es am Arduino rangepappt wurde.
Peter D. schrieb: > Da steht aber nur, daß es ne 14*9 Matrix ist. > Man kannn also 14 LEDs gleichzeitig anschalten und 1:9 multiplexen. das wäre bei einer üblichen Matrixansteuerung der Fall, aber nicht beim Charlieplexing, wo die benutzten Pins sowohl an Kathoden als auch an Anoden von LEDs gehen. Hier ein Link zur Entwicklung von dem Teil: http://jimmieprodgers.com/2009/12/my-development-process/
BirgerT schrieb: > Fakten überprüfen -Check: Dunkel wie die Nacht und massiv unterschiedlich helle LED im Herz (da ahnt man wenigstens was es darstellen soll), bei den unregelmässigen Formen weiss man gar nicht, welche an oder aus sein sollen. BirgerT schrieb: > Dumm ist nicht der, der nichts weiß, > sondern der, der nix dazu lernen will. Also du. Du willst nicht lernen, daß so eine LED-Matrix grober Pfusch ist, die gegen Bauteildatenblattgrenzwerte verstösst und einfach viel viel schlechter ist als wenn man es richtig mit Sachverstand macht.
Also Charlieplexing heisst, dass zur Ansteuerung der LEDs immer nur ein einzelner PIN auf High, und immer nur ein einzelner PIN auf Low ist, alle anderen PINs sind hochohmig (Tristate). Die Matrix ist 14*9, weil sie aus 9 Reihen und 14 Spalten besteht (oder andersrum. Datenblatt: absolute maximum Ratings - o.K. weiter hinten im Datenblatt gibt es aber auch noch ein paar Diagramme.. Also ein Pin auf High und ein Pin auf Low jeweils mit 40mA belastet, ist ja noch innerhalb der Maximum Ratings - könnt Ihr folgen? Preisfragen: a) Welche Spannung misst man am Low Pin, wenn der mit 40mA gen Plus "gezogen" wird. b) welche Spannung liegt am High Pin, wenn der mit 40mA gegen Masse belastet wird? c) Und welche Durchlaßspannungen haben ultrahelle blaue oder weisse LED?
BirgerT schrieb:
Preisfrage d) Warum sollten überhaupt 40mA fliessen ? Warum nicht 20mA
oder 200mA ?
Weil im ATmega328 Datenblatt steht "Absolute Maximum Rating: Current per
I/O Pin: 40mA" ?
Herr wirf Hirn.
So, es wird vermutlich darauf hinauslaufen, daß ich eine 7-Segment-Anzeige in 10x20cm oder so nachbaue. Alles andere scheint keine echten Vorteile zu bringen, es macht die Sache nur unnötig kompliziert. Gibt es fertige Platinen für sowas? Ansonsten bau ich das auf Lochraster auf wenn ich eine entsprechend große Platine finde. Verkauft mir jemand 200 superhelle 10mm-LEDs in rot? Und 50 100- oder 120-Ohm-Widerstände? ;) Auf jeden Fall interessant, was es für Teile gibt. Danke für die Infos. Multiplexen wollte ich nichts, eben weil dann meistens viel Helligkeit verloren geht und die brauche ich wenn man die Anzeige auch bei Tageslicht gut erkennen können soll.
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.