Hallo, ich wollt gern einen LED-Monitor basteln den ich an den VGA-Anschluss vom Laptop betreiben kann. Für den Anfang darf es monochrom und im Größenbereich von 16x12 LEDs sein. Habe mir gedacht dazu das Synchronisationssignal mit Flip-Flops auszuwerten. d.h. den Zeilenwechsel zu realisieren müsste recht leicht sein. Für die Anzeige selbst würde ich mir einfach ein Farbe raus nehmen, das Signal einer Zeile in 16 Intervalle hacken, und damit dann die LEDs ansteuern. Will euch zu Beginn gar nicht groß in die Details einweihen. Wollte eigentlich nur mal fragen ob ich Neuland betrete oder ob es schon Erfahrungen mit so etwas gibt. Manuel
Wenn Du zu jedem Zeitpunkt nur eine LED, Synchron zum ankommenden Signal leuchten lassen möchtest, analog zur Bildröhre, brauchst Du einen sehr hohen Strom, ob den die LED's vertragen? Da würdest Du mit Zählern, Dekodern und kräftigen Treibern auskommen. Alternative: In Speicher einschreiben, dann eine ganze Spalte (oder Zeile) mit einmal, macht natürlich bedeutend mehr Aufwand. Und ob Du den, vor dem Hintergrund dieser Meldung http://www.heise.de/newsticker/meldung/VGA-Buchse-zum-Aussterben-verurteilt-1151036.html noch treiben möchtest? mfG ingo
Lassen wir mal Zahlen sprechen um den Aufwand und den daraus folgenden Sinn des Vorhabens abzuschätzen. Karten, die die gesammte Bandbreite aller VGA Auflösungen unterstützen sehen so aus: http://www.vd-shop.de/vga2pciehighspeedvgagrabber-p-284.html Die kleinste Auflösung, die man meisst mit VGA Karten einstellen kann ist 640x480@60Hz. Das bedeutet, das die Pixel als 3 Analogsignale mit einem Takt von ~18 MHz ( im Detail sogar etwas schneller, siehe VGA Timings in Google ) ausgegeben werden. Das VGA Farbsignal liegt zwischen 0 und 0,7 Volt. Die Elektronik, die solch ein Signal bei 18 MHz vernünftig auswerten kann wird etwas komplex sein. Ich würde ein FPGA Design erwarten wenn es eine Homebrew Lösung werden soll. Mir wäre der Aufwand definitiv zu gross für ein Freizeitprojekt. Dagegen wird die LED Matrix bei 16x12@25Hz monochrom einen (digitalen) Datenstrom von 4.8 kHz mit 1 Bit Genauigkeit benötigen. Könnte man auch noch über RS232 vom PC an einen Atmel schicken, der dann die LEDs per Multiplexing ansteuert. Da könnte man gleich den Sprung auf 256 Farben wagen, die Datenrate von RS232 gibts ja her. Ebenso kann man noch ein bisschen die Auflösung hochdrehen. Nur die Steuersoftware auf dem PC ist da dann etwas aufwändiger ( Framebuffer grabben, downscaling und Farbreduktion sollte aber nicht unlösbar sein). Welches Konzept ist ansprechender ? Gruß, dasrotemopped
Danke für die Anregungen! ingo schrieb: > Wenn Du zu jedem Zeitpunkt nur eine LED, Synchron zum ankommenden Signal > leuchten lassen möchtest, analog zur Bildröhre, brauchst Du einen sehr > hohen Strom, ob den die LED's vertragen? Den Gedanken hatte ich auch: Ich weiß dass bei Hochgeschwindigkeitsaufnahmen speziell rote LEDs für irgendwelche kurze Zeiten mit bis zu 20A zur Belichtung genutzt werden. Wie lange das gut geht weiß ich aber auch nicht. Das gehörte für mich zu den späteren Überlegungen. ingo schrieb: > Alternative: In Speicher einschreiben... Das war gerade das was ich nicht wollte. Ich hatte nebenbei aber die Idee den Stoßstrom mit einem kleinen Kondensator abzufangen, sodass evtl. auch die Zeit bis zur "Neubeschreibung" der einzelnen LED überbrückt wird, und ein zu erwartendes Bildflackern aus bleibt. ingo schrieb: > Und ob Du > den [Aufwand], vor dem Hintergrund dieser Meldung > http://www.heise.de/newsticker/meldung/VGA-Buchse-... > noch treiben möchtest? Es soll ja kein Aufwand werden... Andreas K. schrieb: > Klingt als ob du dir ne Anhängekupplung für nen Ferrari basteln > willst... Hab ne Anhängekupplung am Fahrrad. Das Fahrrad würde ich dann einfach an den Ferrari schweißen. -- Idee war sich das Geld für ein LED-Mapper zu sparen. (Wie das hier, nur halt mit LEDs und nicht in der musikalischen Anwendung: http://www.youtube.com/watch?v=kOFjyEn9EE4) @dasrotemopped: hmmm... - Dass die Frequenzen ganz schön Rabbatz machen habe ich mir auch überlegt. Ich dachte es steht und fällt alles mit der Pulsdauer an der Stelle vom Sync.-signal, wo der Zeilenwechsel markiert ist...und das geht noch zu handhaben...machst mich gerade unsicher... Mit anderen Worten: Keine Erfahrungen?
Timing ist alles... bau dir 3 schnelle 1-Bit AD-Wandler aka Komparatoren, lass dir bei jedem Hsync ein Interrupt geben, wo in der ISR ein Timer auf 0 gesetzt wird und abhängig von der Zeilennummer ein Timer-OVF-Schwellwert gesetzt wird. Bei den o.g. 640x480 bräuchtest du an sich ja nur jede 20. Zeile. Schema: in der ersten Zeile die erste LED deiner 1. Matrixzeile einlesen in der zweiten Zeile die zweite LED deiner 1. Matrixzeile einlesen [...] in der 16. Zeile die 16. LED deiner 1. Matrixzeile einlesen Die gerade eben eingelesene Matrixzeile ausgeben(Zeilenbit und Bitmuster setzen) und 4 Zeilen nichts tun. in der 21. Zeile die erste LED deiner 2. Matrixzeile einlesen in der 22. Zeile die zweite LED deiner 2. Matrixzeile einlesen usw... Hoffe das war jetzt so verständlich. mf
Hmmm, das Simulieren vom Verhalten eines Röhrenmonitors mit einer LED Matrix klingt erst mal einfacher zu realisieren als das Zwischenspeichern des VGA Signals, man sollte dabei aber bedenken, das eine wichtige Funktion der "Röhre" das Nachleuchten ist. Und eine LED tut das erst mal nicht. Schon beim Multiplexing ist die kontrollierte Übersteuerung einer LED wichtig um eine ausreichende Helligkeit zu erreichen. Dabei werden aber auch ganze Zeilen parallel angesteuert, um die Dunkelphase jeder einzelnen LED so klein wie möglich zu halten. Wenn allerdings die LEDs einzeln angesprochen werden, wird es bei steigender Auflösung schnell nötig, das Nachleuchten per Hardware zu simulieren ( sprich, die LED nach der Ansteuerung weiter leuchten zu lassen, auch wenn schon die nächste LED angesteuert wird). Statt die LED direkt anzusteuern würde ich für das Nachleuchten einen Kondensator auf das gewünschte Spannungsniveau laden und dann über diese Spannung einen FET steuern, der die LED schaltet. Die Nachleuchtzeit kann dann über die angelegte Spannung am Kondensator so wie einen Entladewiderstand parallel zum Kondensator variiert werden. Nicht gelöst ist aber immer noch nicht das Abgreifen des Farbsignals vom VGA Port. Was ist der Grund dafür, das das Signal unbedingt von VGA kommen soll ? Die Leuchtwand im Youtube Video wird auch nicht über VGA gesteuert, denke ich. >Das war gerade das was ich nicht wollte. Ich hatte nebenbei aber die >Idee den Stoßstrom mit einem kleinen Kondensator abzufangen, sodass >evtl. auch die Zeit bis zur "Neubeschreibung" der einzelnen LED >überbrückt wird, und ein zu erwartendes Bildflackern aus bleibt. Das VGA Signal ist nicht beliebig belastbar. Der Eingang deines VGA2LED Adapters muss recht hochohmig sein und eine Impedanz von 75 Ohm haben. Den einzigen Kondensator, den du da laden kannst ist der Eingang eines schnellen AD Wandlers. Ggf. statt dessen eine schnelle Verstärkerstufe, die die LEDs treibt. Schnell heisst dabei natürlich im MHz Bereich. Und wie schon vorher gesagt, das VGA Farbsignal liegt zwischen 0 und 0.7 Volt, zu wenig für eine direkte Ansteuerung einer LED. Schau dir doch mal das Farbsignal von deinem VGA Ausgang auf dem Oszilloskop an. Gruß, dasrotemopped.
Hi, das hab' ich mir auch schon überlegt (aber nur überlegt und NIX gemacht). Allerdings wollte ich ein VGA-Bild TEILWEISE anzeigen, immer die obere linke Ecke. Und ich wollt's einfarbig machen, sollte aber auch mehrfarbig klappern... Ich hatte mir das so gedacht (bei 16x10 Pixel, in Farbe): -3 Komparatoren für die Farben ==> gibt immerhin 8 unterschiedliche Farben -die Komparatoren "gehen" in (je) einen Schieberegister-Eingang -Schieberegister so lang wie die darzustellenden Zeilen (hier 16 Bit) -Zeilen-Inpuls als Trigger -zum Einlesen einen Taktgenerator (einen Takt pro Pixel, 18MHz?) -->nach Triggerung durch den Bildimpuls wird ein Zyklus gestartet: -nach Triggerung durch den Zeilenimpuls wird der Taktgenerator für 16 Takte freigegeben -> eine Zeile wandert in die Schieberegister. Die restliche "Zeilenzeit" genügt (hoffentlich) um die Schieberegister parallel auszulesen. -Das Schieben und Auslesen wird neunmal wiederholt, dann hat man den Bild-Ausschnitt im Speicher (z.B. AVR). Oder man kann vielleicht ohne Speicher/AVR/... direkt auf die LEDs gehen, das müsste man probieren. Wird aber wahrscheinlich flackern (60..85 Hz)
Einen Vorschlag hätte ich noch, wenn Du keine Graustufen brauchst (nur ein/aus), Helligkeitssignal triggern, dann seriell in eine Kette Schieberegister mit internem Latch (mir fällt da der 4094 ein, aber 74HC wäre besser, schau mal im AVR-Tutorial unter serielle Ausgabeporterweiterung) , dann kannst Du die Spalten einer ganzen Zeile gleichzeitig an die LED's legen, die dann für eine ganze Zeilenzeit (bzw mehrere, wenn eine LED-Zeile für mehrere Bildschirmzeilen dienen soll) eingeschaltet bleiben können. Das wäre ein Kompromiss zwischen Aufwand und LED-Belastung. mfG ingo
Autsch, da hatt ich mir doch den letzten Beitrag nicht zuende durchgelesen, so hatte ich es mir eigentlich gedacht.
Also doch nochmal zum genaueren Hintergrund. Ich will ein Video das live auf dem Laptop generiert wird als "Lichtspiel" auf den LED-Monitor zaubern, d.h. in Form einer Wand mit Lichtpunkten/-flächen. Mini Float schrieb: > Schema: > in der ersten Zeile die erste LED deiner 1. Matrixzeile einlesen Den Ansatz finde ich keine schlechte Idee! Ich hatte mir bisher gedacht, quasi die erste LED-Zeile 20 mal mit den ersten 20 Zeilen vom Farbsignal durchlaufen zu lassen, um einen guten "Durchschnitt" zu erhalten. dasrotemopped schrieb: > Statt die LED direkt > anzusteuern würde ich für das Nachleuchten einen Kondensator auf das > gewünschte Spannungsniveau laden und dann über diese Spannung einen FET > steuern, der die LED schaltet. hmmm - Dann bräuchte ich für jede LED eine solche Schaltung. Ein FET kosten bestenfalls 0,3EUR. 16x12x0,3EUR=57,6EUR. Das würde ich mir überlegen wenn ich eine konkrete Vorstellung habe. dasrotemopped schrieb: > Das VGA Signal ist nicht beliebig belastbar. Gut dass das so nochmal klargestellt wird, aber hatte schon OPVs/FETs eingeplant :) (Aber wie gesagt, nicht gleich 16x12 Stück.) @ich (Gast): An dieser Stelle scheitert es bei mir. Von AVR hab ich keine Ahnung. Aber vielleicht ist das ja die Chance sich mal damit auseinander zusetzten. Werde mir mal den Tutorial-Tipp von ingo ansehen. Habt mir auf jeden Fall schon mal weiter geholfen und bin nach wie vor offen. Grüße und schönen Advent, Manuel
Ich würde es so machen ... Evtl. (ganz sicher!) müssen die Signale aus der VGA-Buchse noch etwas vorverarbeitet werden ... Gruß Jobst
Also, ich würde den einfachen Ansatz gehen, video2usb Driver (fotoframe) und einfach ein USB uC der dann das led multiplexing macht und sich als ein solche fotoframe ausgibt.
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.