www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik LED "Farb-Display" steuern


Autor: Hannes (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

mir ist eben eine Idee gekommen die mich nicht mehr loslässt. Auf das
technische reduziert habe ich 48 Einheiten (6*8) und in jeder dieser
Einheiten befinden sich einige blaue, grüne und rote (sagen wir von
jeder Sorte 4) LEDs. Was ich nun habe ist sozusagen ein Farbdisplay mit
einer Auflösung von 6*8 Pixel.

Nun habe ich mir folgendes gedacht: Das ganze soll zentralgesteuert
werden also setze ich irgendwo einen Mikrocontroller hin. Ich brauche
reichlich Ausgänge (48 Einheiten * 3 Farben = 144) also setze ich in
jede Einheit einen I2C PortExpander und kann so alle Einheiten bequem
im Bus verdrahten. Der Mikrocontroller müsste dann nur noch das
aktuelle "Bild" über den Bus senden.

Ich denke bis hierhin müsste das ganze auch noch zu realisieren sein.
Nur wäre es natürlich schön wenn es noch mehr Farben als RGB und vl
noch eine 50/50 Mischung von RG oder GB oder BR gibt. Die LEDs müssten
sich also dimmen lassen um so neue Farbmischungen zu erhalten.

So nun wisst ihr was ich vor habe, ich weiß klingt verrückt sieht aber
bestimmt toll aus. also wo seht ihr probleme und was sagt ihr zum
"dimmen" der leds (über den bus) ....

Wäre nett wenn der ein oder andere seine meinung dazu sagt und mir
weiterhilft :)
an die jenigen schonmal Danke! ;)

Mfg

Autor: Sebastian Wille (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Hannes,

ich würde die LEDs über das Matrix-Prinzip ansteuern (hier im Forum mal
nach Matrix-Tastatur suchen, ist ähnlich...) und das Dimmen über PWM
(Pulsweitenmodulation) machen (mal im Forum hier nach PWM suchen.

So kannst Du bequem alle Farben in allen Kombinationen darstellen.

Sebastian

Autor: Ralph Dillhardt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

schwierigers unterfangen.

Eine LED benötigt je nach Farbe eine Betriebsspannung von 1,6 - 2,5
Volt. Durchschnittlich sollte der Vorwiderstand so gewählt werden das
sich ein Strom von 20 mA einstellt. Durch Veränderung des
Vorwiderstandes kann die Helligkeit beinflusst werden.

Wenn nun die LEDs eine Art Dimmer bekommen soll, wird ein
'Programmierbarer dynamische Widerstand' benötigt und das für jede
LED.

Viel Glück

Autor: Benjamin Schmidt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hi

mit nem elektronischen Poti wird das ne teure Angelegenheit... lieber
per PWM regeln wie Sebastian schon vorgeschlagen hat

Autor: Hannes (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Okay,

sagen wir ich mache das ganze als Matrix dann hätte ich eine Matrix mit
6*24 (8*3 Subpixel(=Farbe)).
Wie kann ich die dann per MC ansteuern? Ich stehe da irgendwie auf dem
schlauch momentan :)

Irgendwie müsste ich ja zB. den Punkt oben links also 1-1(rot) bis
1-3(blau) dann per PWM auf jeweils ~33% kriegen um eine bestimtme Farbe
im Feld oben links zu erhalten und das gleichzeitig auch an den 47
anderen Knoten ?! ... kann mir das mal jemand erklären. Habe noch nie
mit PWM in verbindung mit einem MC gearbeitet ... weiß nur so allgemein
was damit anzufangen.

Danke für die Hilfsbereitschaft !
Mfg

Autor: Markus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Hannes,

technisch sollte das kein großes Problem sein, einfach wie Sebastian
schreibt mehrere LEDs zusammen ansteuern (multiplexen) und mit PWM (das
kann man in Software machen) die Helligkeit steuern.

Das Problem dürfte aber sein, daß sich die einzelnen Farben nicht
vermischen. Beim Fernseher/Monitor wird ja das gleiche Prinzip benutzt,
aber da sind die einzelnen Farbpunkte so klein, daß das Auge sie nicht
auflösen kann und deswegen die drei RGB-Farbpixel als ein einziges
erscheinen. Normale LEDs sind aber viel größer und deswegen kann man da
die einzelnen LEDs erkennen. Ich habe sowas erst vor kurzem bei einem
Spielautomaten gesehen und es sah furchtbar aus. Da war sogar eine Art
Milchglasschreibe davor und die war dann weiß, aber man sah darin die
drei Farbpunkte der LEDs. Hat mich nicht wirklich überzeugt.

Die Lösung ist wohl, enweder die LEDs zu verkleinern (bzw. RGB-LEDs zu
verwenden) oder den Abstand zu vergrößern. Aber da muß man wohl etwas
experimentieren; mich haben selbst die normalen Rot-Grün-LEDs nicht so
wirklich überzeugt.

Markus

Autor: Markus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das mit dem Multiplexen funktioniert so:
Du verbindest zB alle Anoden einer Zeile und alle Kathoden einer
Spalte.  Dann gibst Du das gewünschte LED-Muster für die erste Spalte
am Microcontroller aus, aber schaltest nur den Strom für die Spalte an.
Danach gibst Du das Muster für die zweite Spalte aus, schaltest aber nur
den Strom für die zweite Spalte an, so daß nur diese leuchtet usw. usf.
Dadurch leuchtet immer nur eine Spalte auf und wenn man das schnell
genug macht, dann kann das menschliche Auge da keinen Unterschied
erkennen. Der Strom muß dabei passend erhöht werden, aber den 24fachen
Strom werden sie nicht verkraften, so daß Du nicht einfach 1:24
multiplexen kannst.

Zur PWM:
Dabei geht es einfach um die Zeit, die eine LED an ist. Wenn sie nur
50% der Zeit an ist, dann hat sie auch nur 50% der Helligkeit (grob,
das ist nicht linear).

Autor: Hannes (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hey vielen dank !
Hab das soweit alles begriffen und halte das für einen vernünftigen
Vorschlag also werde ich das ganze so angehen !

Ein Problem hab ich allerdings noch:
Eine LED ist ja dann nur 1/24 der Zeit an (8*3 Reihen)
Wie kann ich diesen "Leuchtverlust" ausgleichen ?
Ich dachte zuerst daran den Strom zu ver-24-fachen aber ich glaube
nicht dass die LED das so ohne weiteres mitmacht da als Max Peak nur
120mA (statt 20mA Normal) angegeben ist.

Ach und noch ne kleinigkeit :) ... ich kann ja schlecht zig hundert mA
über den MC laufen lassen ... hat jemand ne Schaltung/ein TreiberIC
parat mit dem soetwas gut aufzubauen ist ?

mfg
Hannes

Autor: sammy (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ich denke sowas kann man mit Schieberegistern realisieren, ich benutze
immer das HC164, das hat einen Seriellen Eingang und 8 parallele
Ausgänge, der Status der Ausgänge bleibt bis zum Überschreiben
erhalten...

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.