Forum: Mikrocontroller und Digitale Elektronik HDMI an Arduino


von R. F. (rfr)


Lesenswert?

Hallo,

ich überlege, wie ich einen HDMI-Monitor an Arduinos anschliessen kann, 
auch Due. Leider bisher ohne Erfolg.

Weiss jemand weiter?

Gruss

Robert

von Rolf M. (rmagnus)


Lesenswert?

Nen RasPi als "Grafikkarte" anschließen?

von R. F. (rfr)


Lesenswert?

Der hat zu wenig I/O.
Für die I/Os bräuchte ich etwa einen Megs 2560. Der kann aber von Hause 
aus kein HDMI. Gibt es Adapter oder shields?

von Domi N. (dominator)


Lesenswert?

Google kaputt?
Ein Arduino hat generell nicht genug Dampf für solche Aktionen. Du 
kannst doch einen Raspi einfach als Interface benutzen. Lass den dann 
Seriell mit dem Arduino kommunizieren.

von Sebastian R. (sebastian_r569)


Lesenswert?

Mit nem Composite- oder VGA-zu-HDMI-Converter.

Composite oder VGA dürfte gerade so drin sein.

von K. S. (the_yrr)


Lesenswert?

Sebastian R. schrieb:
> Composite oder VGA dürfte gerade so drin sein.

kommt drauf an, der due hat maximal 84MHz
640*480@60fps: Pixel clock frequency 25.175 MHz
das wird nix, außer der schiebt nur per DMA (hat der das?) Daten raus, 
und dann muss der auch erstmal nen DAC damit füttern (wenn der welche 
hat dann bestimm nicht 3 mit je 25MHz).

320*200@30fps sind knapp 2MHz pixel clock, das könnte gehen, bleibt noch 
das DAC Problem, oder wenn HDMI diese Auflösung frisst sind es eben ca. 
16MHz+ für die serielle Ausgabe. eventuell könnte man sich mit externen 
parallel-seriell shift registern behelfen, falls der due 4 komplette 
zusammenhängende 8 Pin breite Ports frei hat.

kein Plan was die niedrigste mögliche Rate für HDMI ist, aber ein IIC 
und 4 differentielle Ausgänge sollten möglich sein, nur musst du alles 
selber programmieren. außerdem brauchst du pro pixel mehrere Takte, 
mindestens 8 bit pro Pixel müssen es schon sein (ohne gewähr).

das könnte gehen mit Assembler und nur Daten rausschieben, aber mit 
Arduino (die Sprache) sicher nicht, daher:

Rolf M. schrieb:
> Nen RasPi als "Grafikkarte" anschließen?

: Bearbeitet durch User
von K. S. (the_yrr)


Lesenswert?

hier VGA auf nem Atmega1284:
https://hackaday.com/2013/03/29/avr-vga-generator/
übertaktet auf 25MHz, schafft ganze 128×96 Pixel mit 64 Farben, aber 
Respekt dass er das überhaupt hinbekommen hat.

von Uiuiui (Gast)


Lesenswert?

Sicher "geht" das irgenwie. Du brauchst einen Videocontroller mit 
HDMI-Ausgang und z.B. SPI-Eingang.

Kenn grad keinen, sowas gibts aber bestimmt. Dem schreibst du dann den 
mit dem Arduino generierten Bildinhalt in seinen RAM, und der macht dir 
dann das HDMI-Bild. Denn Live kann das ein Arduino nicht, mangels 
TMDS-Ports und RAM.

Das wird halt dann ein "proof of concept", im Höchstfall, mit Blut und 
Wasser schwitzendem AVR, der im Schneckentempo ein winziges Display 
füllen kann.

Generell sind eigentlich die meisten µC mit Displaygrößen, die man 
üblicherweise mit HDMI beschickt, heillos überfordert.

Die meisten, aber nicht alle. Wenns also ein anderer µC sein darf:
Ein PIC32MZ(DA) hat eine GPU und 32MByte RAM sowie ein LCD-Interface. 
Dafür dürfte man HDMI-Tranceiver bekommen.
Selbst damit wollte man sich aber vermutlich auf kleiner Auflösungen 
beschränken.

Auch mit einem STM32F7 (der braucht dann externes RAM) könnte das 
möglich sein. Der hat auch ein paar Displayschnittstellen, da könnte es 
auch etwas geben.

von Joachim B. (jar)


Lesenswert?

R. F. schrieb:
> ich überlege, wie ich einen HDMI-Monitor an Arduinos anschliessen kann,
> auch Due. Leider bisher ohne Erfolg.

wenn es nur um das Bild geht, Arduino mit TFT Shield und Raspi mit Cam 
Modul der das TFT ablichtet. :)

sorry manches kann man hier nicht ernst nehmen.

von Geizistgeil (Gast)


Lesenswert?

Wie wäre es mit einer alten ISA VGA-Karte?

von Dr. Sommer (Gast)


Lesenswert?

Der Beagle Bone hat eine Reihe GPIO, kann Linux, ist teilweise echtzeit 
fähig, hat mini HDMI und auch genug Leistung und Speicher um Grafiken 
darzustellen.

von Horst (Gast)


Lesenswert?

R. F. schrieb:
> Der hat zu wenig I/O.

Einem Pi mit ein paar SPI-Portbausteinen (mcp23s17 z.B.) mehr IOs zu 
verschaffen ist deutlich einfacher als einem Arduino richtige Grafik (in 
welcher Form auch immer) zu entlocken.

von Rolf M. (rmagnus)


Lesenswert?

K. S. schrieb:
> 320*200@30fps sind knapp 2MHz pixel clock, das könnte gehen, bleibt noch
> das DAC Problem, oder wenn HDMI diese Auflösung frisst sind es eben ca.
> 16MHz+ für die serielle Ausgabe.

Bei DVI ist der minimale Pixeltakt auf die 25,175 MHz spezifiziert. Ob 
das bei HDMI gleich ist, weiß ich nicht, aber ich vermute, dass es so 
ist.
Ich hatte da letztens ein ähnliches Problem, aber quasi in umgekehrter 
Richtung. Ich hatte einen Konverter, um ein Display an einen DVI-Port 
anschließen zu können. Aber aufgrund des zu geringen Pixeltakts konnte 
ich den Rechner nicht dazu überreden, ein passendes DVI-Signal zu 
erzeugen.

Beitrag #5812930 wurde von einem Moderator gelöscht.
Beitrag #5812932 wurde vom Autor gelöscht.
von R. S. (ic_tester)


Lesenswert?

Hallo,

schau doch mal auf Github nach.

https://github.com/techtoys/HDMI-Shield/tree/master/Ra8876_Lite

Gruß ic_tester

von Tim T. (tim_taylor) Benutzerseite


Lesenswert?

Rolf M. schrieb:
> K. S. schrieb:
>> 320*200@30fps sind knapp 2MHz pixel clock, das könnte gehen, bleibt noch
>> das DAC Problem, oder wenn HDMI diese Auflösung frisst sind es eben ca.
>> 16MHz+ für die serielle Ausgabe.
>
> Bei DVI ist der minimale Pixeltakt auf die 25,175 MHz spezifiziert. Ob
> das bei HDMI gleich ist, weiß ich nicht, aber ich vermute, dass es so
> ist.

Das ist relativ egal weil der AVR den TDMS Takt (10x Pixeltakt)  nicht 
hin bekommt und wenn man dafür schon entsprechende Hardware verbauen 
muss, kann man direkt nen entsprechenden Framebuffer dazu packen, macht 
den Braten dann auch nicht mehr fett.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Der einzige halbwegs gangbare Weg ist das Erzeugen eines Signals mit 
PAL-Timing (d.h. für "composite video"-Eingänge von Fernsehern) und die 
Verwendung eines Composite-to-HDMI-Konverters.

Die Dinger kosten nicht viel.

https://www.amazon.de/HDMI-GANA-AV-Unterst%C3%BCtzung-Schutzh%C3%BClle-AV2HDMI/dp/B072N2Q55Y/

von Thomas W. (diddl)


Lesenswert?

R. F. schrieb:
> ich überlege, wie ich einen HDMI-Monitor an Arduinos anschliessen kann,
> auch Due. Leider bisher ohne Erfolg.

GameDuino …


https://excamera.com/sphinx/gameduino3/

von MaWin (Gast)


Lesenswert?

imkeller schrieb im Beitrag #5812930:
> simpel
> Youtube-Video "Arduino HDMI Shield"

Was soll der Scheiss?

Der TO wollte trollen und du kommst mit einer Lösung!

von soso... (Gast)


Lesenswert?

MaWin schrieb:
> imkeller schrieb im Beitrag #5812930:
>> simpel
>> Youtube-Video "Arduino HDMI Shield"
>
> Was soll der Scheiss?
>
> Der TO wollte trollen und du kommst mit einer Lösung!

Das ist nicht dein Ernst, oder?

Das Teil macht alles selber, und der Arduino ist nur ein Anhängsel. Wie 
wenn man ein FTDI-Kabel an einen Bilderzeuger klemmt, und Kommandos 
schickt. Viel mehr ist das nicht.

So gesehen könntest du sagen, du hättest ein Interface Gehirn<>HDMI 
erstellt. Denn du kannst mit deinem Gehirn über einen Finger deinen 
Fernsehr einschalten und beliebige Bildinhalte anzeigen.
Ja, beliebig. Du setzt das Pixel in Paint und zeigst das am Fernseher 
an.

Natürlich kann man jetzt eine Diskussion aufreißen, ob man das 
Arduino-HDMI-Schnittstelle nennen kann, aber ich denke, das ist nicht 
das, was der TE gemeint hat ;-)

Beitrag #5813646 wurde von einem Moderator gelöscht.
Beitrag #5813650 wurde von einem Moderator gelöscht.
von R. F. (rfr)


Lesenswert?

Thomas W. schrieb:
> R. F. schrieb:
>> ich überlege, wie ich einen HDMI-Monitor an Arduinos anschliessen kann,
>> auch Due. Leider bisher ohne Erfolg.
>
> GameDuino …
>
>
> https://excamera.com/sphinx/gameduino3/

Das sieht gut aus, aber woher nehmen?

von Stefan F. (Gast)


Lesenswert?

R. F. schrieb:
> Das sieht gut aus, aber woher nehmen?

Das hat mit HDMI aber mal gar nichts zu tun.

Beitrag #5814258 wurde von einem Moderator gelöscht.
von TomTom (Gast)


Lesenswert?


von No Y. (noy)


Lesenswert?


von julian stremel (Gast)


Lesenswert?

i might be a bit late to the party but there is an hdmi shield 
available:
http://www.techtoys.com.hk/BoardsKits/HDMIshield/HDMIshield.htm

von Amin N. (aminnegmawad)


Lesenswert?

Natürlich geht das. Zum einen hat er gesagt, dass er an den 
HDMI-Anschluss möchte und nicht irgendeine entsprechende Auflösung 
erzielen möchte. Er kann also ein "schlechteres" Format erzeugen und das 
dann mit einem Hinterherwerf-Adapter an den Monitor anschließen.

Und natürlich hat man schon Monitore angesteuert, als Computer noch 
deutlich weniger leistungsfähig waren. Ich selbst habe das entwickelt 
mit einem 6511Q (in etwa schnellerer 6502 als Microconroller).

Dabei gab es eine abgefahrene Strategie (Sinclair ZX80), die offenkundig 
hier einige als einziges kennen: Das Signal unmittelbar durch die CPU 
erzeugen lassen. Das führt zur Auflösungsbegrenzung und außerdem ist die 
CPU damit ziemlich ausgelastet. (Deshalb gab es beim ZX80 die Befehle 
slow und fast, wobei letzterer die Bildgenerierung ausschaltete.)

Die übliche Lösung war es einfach, einen CRTC 
(Cathode-Ray-Tube-Controller, etwa damals 6845) dazu zu verwenden. Der 
braucht dann eigenes (Display-)RAM. Darunter gibt es zwei 
Untervarianten, eine, bei der die CPU das RAM beschreibt. (Nur bei 
Änderungen des Bildes, also nicht laufend. Solange sich nichts tut, ist 
das 0-Last für die CPU.) Eine andere, bei der der CRTC selbst das 
Display-RAM verwaltet und man Befehle an ihn schickt. (Im Prinzip ein 
Miniterminal.)

Und richtig: Das dürfte sich heutzutage alles nicht mehr lohnen, schon 
deshalb, weil man bei der Fehlersuche mindestens ein Scope, besser einen 
Logic-Analyser braucht. Das ist ja jetzt etwas mehr Technik als 
irgendwelche Fertigmodule über IIC anzuschließen.

Aber wer Spaß damit und ausreichend Kohle hat … Nur zu, es geht.

von Rolf M. (rmagnus)


Lesenswert?

Amin N. schrieb:
> Natürlich geht das. Zum einen hat er gesagt, dass er an den
> HDMI-Anschluss möchte und nicht irgendeine entsprechende Auflösung
> erzielen möchte.

Dennoch muss er halt die 25 Mhz Pixelclock schaffen, die HDMI als 
Minimum vorgibt.

> Und natürlich hat man schon Monitore angesteuert, als Computer noch
> deutlich weniger leistungsfähig waren.

Aber nicht per HDMI.

> Aber wer Spaß damit und ausreichend Kohle hat … Nur zu, es geht.

Nach anderthalb Jahre kommst du damit etwas spät.

von STM32_user (Gast)


Lesenswert?

Arduino Portenta H7 hat DisplayPort over USB-C

von Amin N. (aminnegmawad)


Lesenswert?

Rolf M. schrieb:
> Amin N. schrieb:
>> Natürlich geht das. Zum einen hat er gesagt, dass er an den
>> HDMI-Anschluss möchte und nicht irgendeine entsprechende Auflösung
>> erzielen möchte.
>
> Dennoch muss er halt die 25 Mhz Pixelclock schaffen, die HDMI als
> Minimum vorgibt.
Den dazu entsprechenden Teil meines Beitrages hast du dann nicht 
zitiert. ;-)

>
>> Und natürlich hat man schon Monitore angesteuert, als Computer noch
>> deutlich weniger leistungsfähig waren.
>
> Aber nicht per HDMI.
Den dazu entsprechenden Teil meines Beitrages hast du dann nicht 
zitiert. ;-)
>
>> Aber wer Spaß damit und ausreichend Kohle hat … Nur zu, es geht.
>
> Nach anderthalb Jahre kommst du damit etwas spät.

Deshalb auch "wer" und nicht "er".

Ich habe durchaus gesehen, wie alt das war. (Man wird ja auch 
hinreichend gewarnt.) Aber trotzdem kann man es ja richtig stellen.

von Rolf M. (rmagnus)


Lesenswert?

Amin N. schrieb:
> Den dazu entsprechenden Teil meines Beitrages hast du dann nicht
> zitiert. ;-)

Weil er mir nicht relevant erschien. Ich kenne zumindest keine 
"Hinterherwerf-Adapter", die ein Video mit zu geringer Auflösung oder zu 
geringer Bildwiederholrate auf ein HDMI-konformes Format hochrechnen.

von Amin N. (aminnegmawad)


Lesenswert?

Du kennst keine VGA-HDMI-Adapter?

https://www.qwant.com/?q=vga%20hdmi%20adapter

von Rolf M. (rmagnus)


Lesenswert?

Amin N. schrieb:
> Du kennst keine VGA-HDMI-Adapter?

Doch, aber keine, die von Auflösungen, die deutlich kleiner als 
640x480@60Hz sind hochrechnen auf ein HDMI-konformes Signal und einem 
hinterhergeworfen werden. Aber wenn du einen kennst, warum nennst du ihn 
dann nicht einfach?

von Sebastian S. (amateur)


Lesenswert?

Wenn man außer Acht lässt dass praktisch alles, was dazu nötig ist 
fehlt, sollte es gehen.
Der Rechner hat keine ausreichende Leistung/Geschwindigkeit.
An Speicher fehlt es ihm sowieso.
Die für so eine Aktion nötigen Anschlüsse fehlen auch.
Vor der dafür nötigen Peripherie keine Spur.
Solltest Du das Ganze trotzdem implementieren können, so werden die 
Zeichen von Hallo-Welt wahrscheinlich im Sekundentakt – oder langsamer - 
am Bildschirm erscheinen und der nächste Interrupt wird frühestens nach 
5 Sekunden angenommen.

von Stefan F. (Gast)


Lesenswert?

> Auflösungen kleiner als 640x480@60Hz hochrechnen
> auf ein HDMI-konformes Signal

Danach hat doch neulich schon jemand mehr oder weniger verzweifelt 
gesucht.

von c-hater (Gast)


Lesenswert?

Rolf M. schrieb:

> Doch, aber keine, die von Auflösungen, die deutlich kleiner als
> 640x480@60Hz sind hochrechnen auf ein HDMI-konformes Signal und einem
> hinterhergeworfen werden.

Das genügt ja auch vollständig. Der Witz bei der analogen Ausgabe ist 
nämlich: da gibt es nicht wirklich einen Pixeltakt. Den "denkt" sich 
allein der Empfänger (in diesem Fall halt der VGA-HDMI-Wandler).

Der tatsächlich generierte Bildinhalt kann deutlich geringer aufgelöst 
sein, es muß sich nicht für jeden VGA-Pixel etwas ändern.

Er muß (um einigermaßen anständig auszusehen) nur hinreichend synchron 
zum Pixeltakt des Empfängers generiert werden. Und das ist einfach zu 
erreichen, zumindest in Assembler...

Naja, nicht unbedingt die native Arduino-Sprache...

von Amin N. (aminnegmawad)


Lesenswert?

Rolf M. schrieb:
> Amin N. schrieb:
>> Du kennst keine VGA-HDMI-Adapter?
>
> Doch, aber keine, die von Auflösungen, die deutlich kleiner als
> 640x480@60Hz sind hochrechnen auf ein HDMI-konformes Signal und einem
> hinterhergeworfen werden. Aber wenn du einen kennst, warum nennst du ihn
> dann nicht einfach?

???? Wieso sollte das deutlich kleiner als 640x480@60Hz sein? Die 
Auflösung hängt doch nicht vom Arduino ab, sondern vom CRTC.

von M. K. (Gast)


Lesenswert?

R. F. schrieb:
> Der hat zu wenig I/O.

I²C expander sind nun auch kein Hexenwerk.
Willst Du mit einem Mega und seiner schieren Rechenpower (🤢) tatsächlich 
Bildinhalte berechnen und im Speicher vorhalten?
Mittels Mega und vergewaltigtem SPI gibts doch VGA Projekte im Netz.
Wäre das nicht ausreichend?

von Amin N. (aminnegmawad)


Lesenswert?

Sebastian S. schrieb:
> Wenn man außer Acht lässt dass praktisch alles, was dazu nötig ist
> fehlt, sollte es gehen.
> Der Rechner hat keine ausreichende Leistung/Geschwindigkeit.
> An Speicher fehlt es ihm sowieso.
> Die für so eine Aktion nötigen Anschlüsse fehlen auch.
> Vor der dafür nötigen Peripherie keine Spur.
> Solltest Du das Ganze trotzdem implementieren können, so werden die
> Zeichen von Hallo-Welt wahrscheinlich im Sekundentakt – oder langsamer -
> am Bildschirm erscheinen und der nächste Interrupt wird frühestens nach
> 5 Sekunden angenommen.

???? Der Speicher ist doch nicht auf dem Arduino? Das ist 
Displayspeicher. Und der Arduino muss zur Anzeige des Bildes auch gar 
nichts machen. Er muss halt in den Displayspeicher schreiben, wenn er 
das Bild verändern will. Das sind ein paar Bytes. (Oder halt, je nach 
CRTC, ein paar Kommandos an den übertragen.)

Klar, das muss man selbst machen. Und um es zu machen, wird man sogar 
einiges an Tools brauchen. Deshalb hatte ich das ja auch geschrieben.

von Amin N. (aminnegmawad)


Lesenswert?

c-hater schrieb:
> Rolf M. schrieb:
>
>> Doch, aber keine, die von Auflösungen, die deutlich kleiner als
>> 640x480@60Hz sind hochrechnen auf ein HDMI-konformes Signal und einem
>> hinterhergeworfen werden.
>
> Das genügt ja auch vollständig. Der Witz bei der analogen Ausgabe ist
> nämlich: da gibt es nicht wirklich einen Pixeltakt. Den "denkt" sich
> allein der Empfänger (in diesem Fall halt der VGA-HDMI-Wandler).
>
> Der tatsächlich generierte Bildinhalt kann deutlich geringer aufgelöst
> sein, es muß sich nicht für jeden VGA-Pixel etwas ändern.
>
> Er muß (um einigermaßen anständig auszusehen) nur hinreichend synchron
> zum Pixeltakt des Empfängers generiert werden. Und das ist einfach zu
> erreichen, zumindest in Assembler...
>
> Naja, nicht unbedingt die native Arduino-Sprache...

Ja, das ist etwas, was richtig Aufwand verursacht. Aber dafür ist es ja 
recht spaßig.

Allerdings würde ich es ohne LA nicht angehen wollen. Und das wäre mir 
der Spaß dann doch nicht wert. Aber ein Student der Zugriff hat oder in 
einer Firma als Hobbyprojekt …

PS.: Es kann sein, dass eine bestimmte Zeilenzahl verlangt wird.

: Bearbeitet durch User
von c-hater (Gast)


Lesenswert?

Amin N. schrieb:

> Ja, das ist etwas, was richtig Aufwand verursacht.

Sehr überschaubar. Wenn man Assembler kann. Es gibt etliches 
Einschlägige in "Projekte und Code" dazu.

> Allerdings würde ich es ohne LA nicht angehen wollen.

Also, als ich das sowas erste Mal gemacht habe, hatte ich auch keinen 
LA. Ich hätte einen Oszi gehabt (sogar einen guten), gebraucht habe ich 
ihn dazu aber nicht.

Die Sache ist nämlich insgesamt doch ziemlich trivial. Für Anfänger ist 
es einfach so, dass es erstmal nur einen Interrupt geben darf, den 
Zeileninterrupt (und außerdem kein cli in main). Der Zeileninterrupt muß 
mit dem Videoframe synchronisiert werden, den man sehr leicht mittels 
Timer generieren kann, also auch ohne jegliche gehobenen 
Programierkenntnisse.

Aber auch die Synchronisation mit dem Frame ist nur ein kleines Problem, 
da es die dazu nötigen Techniken zum Nachlesen in den einschlägigen 
Projekten gibt.

Im Zeileninterrupt dann den Inhalt der Zeile auszugeben ist halt 
stupides Takte zählen, nicht mehr und nicht weniger. Für gelernte 
Assemblerprogrammierer durchaus ungeliebte aber problemlos beherrschte 
Pfichtübung. Und natürlich gibt es in den einschlägigen Projekten 
bereits verschiedenste Umsetzungen dieser Pflicht.

Wenn man die reine Ausgabe soweit im Griff hat, DANN wird es erst 
tricky. Dann kommt die Kür: Konkurrierende Interrupts in gewissem Umfang 
zu ermöglichen z.B....

Das erfordert dann schon deutlich gehobene Programmierfähigkeiten, ist 
aber ebenfalls bereits zumindest in einigen dieser Projekte zu finden.

D.h.: haben alles andere bereits vor (teilweise vielen) Jahren 
umgesetzt. Wer's heute nicht in Griff bekommt, ist einfach nur zu faul 
oder zu doof zum Lesen...

von Amin N. (aminnegmawad)


Lesenswert?

Ich meinte auch weniger das Herausschreiben in das Display-Ram, also die 
SW-Seite, die ist ein Klacks, als vielmehr die CRTC-Beschaltung. Alleine 
das Auflösen der Buskollisionen, je nachdem welchen CRTC du benutzt. 
(DPRAM ist teuer.) Dann hast du ja keinen herausgeführten 
Adress-/Datenbus, musst das also selbst aufbauen zum Beschreiben des 
Display-RAM. Da muss das Timing schon ziemlich genau stimmen. Und wenn 
es das nicht tut, was beim ersten Mal so ist, bist du zumindest mit 
einem 2-Kanal-Oszi ziemlich dünn besetzt. Das nervt.

Nee, nee, da schaue ich mir das lieber im LA im Kontext an.

Die Software ist für nebenbei …

von c-hater (Gast)


Lesenswert?

Amin N. schrieb:

> Ich meinte auch weniger das Herausschreiben in das Display-Ram, also die
> SW-Seite, die ist ein Klacks, als vielmehr die CRTC-Beschaltung.

Du schwebst in völlig falschen Sphären. Es gibt dabei kein CRTC außer 
zwei Timern, die jeweils ein primitives PWM-Signal produzieren. Nach 
einmaliger Initialisierung völlig starr ohne jeglichen weiteren Beitrag 
durch die MCU.

> Alleine
> das Auflösen der Buskollisionen

Es gibt auch keine Buskollisionen, weil es keinen Bus gibt. Es gibt nur 
noch die Aufgabe, den Bildinhalt synchron zum durch die Timer 
generierten Frame auszugeben. Das allein ist Aufgabe der MCU.

> (DPRAM ist teuer.)

Auch wieder: völlig falsche Späre. Man muss keinen vollständigen 
Framebuffer haben, um etwas einfarbigen Text vor einem hübschen 
Hintergrund (z.B. mit einem Farbverlauf) auszugeben.

von Amin N. (aminnegmawad)


Lesenswert?

Nun, ich weiß ja am besten, was ich vorgeschlagen habe. Und das war eine 
Lösung mit CRTC, siehe oben.

Das Signal selbst "pixelweise" erzeugen zu lassen halte ich in der Tat 
für gewagt aus den hier zahlreich genannten Gründen.

von Kommentierer79 (Gast)


Lesenswert?

Grundsätzlich verstehe ich manche Beiträge hier nicht. Seit 2017 wird 
eine Lösung angeboten um ein Arduino an HDMI Geräte anzuschließen... 
Warum hier also einige Spezialisten auf die Idee kommen zu sagen, dass 
es nicht gehen würde bleibt mir ein Rätsel. Aber auch hier wieder der 
Beweis: Ich Google im Jahre 2021 nach einer Lösung, lande hier und 
keiner meint eine vernünftige Antwort zu geben. Das ist der Grund warum 
keiner mehr großartig googelt. Non stop nur Quatsch durchlesen der 
keinem weiterhilft. Auch andere Ideen sind hier fehl am Platz. Ich habe 
einen SLA Drucker mit einem Fernsehdisplay gebaut und kann dann nicht 
mal eben einen anderen Eingang nutzen, als der, der vom Display 
unterstützt wird. Ebenso sämtliche Komponenten des Druckers (den ich nun 
mal schon zu hause stehen habe). Dementsprechend würde ich die Leute 
bitten lieber nichts zu schreiben als unnütze Vorschläge zu bringen... 
Im großen und ganzen ist der ganze Thread leider absolut überflüssig und 
wieder mal eine weitere Sackgasse für Leute die Google benutzt haben.

Beitrag #6857840 wurde vom Autor gelöscht.
von Tim T. (tim_taylor) Benutzerseite


Lesenswert?

Traurig das du es nicht verstehen willst, klar kann man grundsätzlich 
alles an alles anschließen nur wie sinnvoll das dann ist, steht auf 
einem anderen Blatt.
Im Fall des Arduino ist es nunmal so, dass die Verbindung zu HDMI einen 
Konverter erfordert, der um ein vielfaches leistungsfähiger ist als der 
Arduino selber und dann diesen auch direkt komplett ersetzen kann.

Nehmen wir als Beispiel einfach mal den Raspberry, natürlich kann der 
Arduino irgendwelche Videodaten generieren, diese über SPI, I2C, RS232 
oder sonstwas an den Raspberry übermitteln und dieser schreibt die Daten 
dann in seinen Framebuffer um sie per HDMI anzuzeigen. Aber natürlich 
könnte man dabei auch direkt den Raspberry das machen lassen was der 
Arduino machen sollte und den Arduino komplett weglassen.

: Bearbeitet durch User
von Stefan F. (Gast)


Lesenswert?

Kommentierer79 schrieb:
> Non stop nur Quatsch durchlesen der keinem weiterhilft.

> Dementsprechend würde ich die Leute bitten lieber nichts
> zu schreiben als unnütze Vorschläge zu bringen...

Stimmt dich das nicht nachdenklich?

Du hast gerade genau das gemacht, was du anderen verbieten möchtest.

von Kommentierer79 (Gast)


Lesenswert?

Stefan ⛄ F. schrieb:
> Stimmt dich das nicht nachdenklich?
>
> Du hast gerade genau das gemacht, was du anderen verbieten möchtest.

Nein da ich keiner dieser Leute bin die hier meinen Sie würden helfen. 
Nur eben jemand der hofft Antworten zu bekommen, jemand der 18 
Browserfenster & 35 Tabs jeweils offen hat, damit man einfach eine 
vernünftige Antwort darauf bekommt, aber in sämtlichen Seiten nur dieses 
typische Forumsgesausel lesen darf! Nur sowas muss halt mal gesagt 
werden. Man investiert Zeit ohne Ende um einfach gar nichts hilfreiches 
zu der Frage beantwortet zu bekommen. Bitte schreibe doch gerne wie du 
es sonst formulieren würdest an dieser Stelle? Entweder man liest meinen 
ganzen Post durch oder lässt es einfach sein. Der Thread IST bereits 
versaut durch ewig lange hilflose Antworten. Wenn die Frage lautet wie 
bekomme ich X mit Y hin, dann soll gefälligst keiner sagen "Kauf dir 
lieber Z". Lassen wir doch direkt das Basteln und beauftragen Firmen für 
sehr viel mehr Geld wenn das die Devise ist. Wo ist denn da der Sinn 
hinter? Hier wurde eingangs nicht nach Alternativlösungen gefragt.

von Stefan F. (Gast)


Lesenswert?

Kommentierer79 schrieb:
> Wenn die Frage lautet wie bekomme ich X mit Y hin,
> dann soll gefälligst keiner sagen "Kauf dir lieber Z".

Weil man X mit Y nicht machen kann, kann es keine andere vernünftige 
Antwort geben. Es ist schlicht unmöglich, mit einem Atmega2560 direkt 
ein HDMI Signal zu erzeugen.

> Hier wurde eingangs nicht nach Alternativlösungen gefragt.

Doch wurde gefragt. Ich zitiere:

R. F. schrieb:
> Der kann aber von Hause aus kein HDMI. Gibt es Adapter oder shields?

Über diese Adapter wurde diskutiert.

Was wir beide jetzt gerade tun, das nützt wirklich niemandem. Dennoch 
bist du offenbar immer noch sicher, dich hier besser zu verhalten, als 
ich. Weil irgendwer muss der Welt ja die Augen öffnen. Wer sonst, wenn 
nicht du?

Habe ich Recht?

von Michael W. (Gast)


Lesenswert?

TomTom schrieb:
> http://www.seniorelectron.com/

"400 pixels horizontally and 300 pixels vertically"

Das ist weit weg von HDMI.

Das Arduino-Zeug braucht einen ordentlichen FPGA dahinter, um das zu 
machen. HDMI in Vollauflösung sind mindestens 75MHz-Pixeltakt bei 30 
frames.

Beitrag #6861175 wurde vom Autor gelöscht.
von Kybernetiker X. (kybernetiker)


Lesenswert?

Hmm kopfkratz wie kann ich Arduino mit App ansteuern 
*kopfkratz*kopfkratz*  Wenn für meine Spülmaschine eine App dazu gibt, 
dann gibt es für Arduino auch eine App! Warum HDMI, wenn es eine App 
dazu gibt? Denn der Smartphone hat HDMI-Ausgang!! Ohja!

von Stefan F. (Gast)


Lesenswert?

Kybernetiker X. schrieb:
> Wenn für meine Spülmaschine eine App dazu gibt,
> ... Warum HDMI?

Oft will man ein Gerät mit einem Display ausstatten. Ab einer gewissen 
Größe werden diese Displays sehr teuer und sind für Bastler schwer zu 
bekommen. Modelle mit HDMI sind überall zu haben (sogar im Mediamarkt) 
und relativ billig.

Deswegen fragen Leute nach HDMI Schnittstellen für ihre Mikrocontroller.

von Kybernetiker X. (kybernetiker)


Lesenswert?

Stefan ⛄ F. schrieb:
> Kybernetiker X. schrieb:
>> Wenn für meine Spülmaschine eine App dazu gibt,
>> ... Warum HDMI?
>
> Oft will man ein Gerät mit einem Display ausstatten. Ab einer gewissen
> Größe werden diese Displays sehr teuer und sind für Bastler schwer zu
> bekommen. Modelle mit HDMI sind überall zu haben (sogar im Mediamarkt)
> und relativ billig.
>
> Deswegen fragen Leute nach HDMI Schnittstellen für ihre Mikrocontroller.

Diese Lösung ist etwas seltsam. Ich programmiere den Arduino über PC, da 
hab ich doch mein HDMI-Bildschirm. Soll Arduino abgekoppelt werden und 
trotzdem HDMI ansprechen, würde ich nicht Arduino nehmen, sondern gleich 
Raspberry Pi. Der Newbie ist zu blöd den Serialport richtig zu nutzen. 
Der Newbie sollte sich mal processing anschauen: 
https://processing.org/de/ läuft auf allen Plattformen.

Dann gibt es eben noch diese Lösung:
https://codeandlife.com/2012/12/27/raspberry-pi-as-arduino-hdmi-shield/

Aber anscheinend sind sogar ältere Rapsis teurer als dieser HDMI-Shield, 
da tut man alles aus der Not heraus...

von Joachim B. (jar)


Lesenswert?

Kybernetiker X. schrieb:
> Dann gibt es eben noch diese Lösung:
> https://codeandlife.com/2012/12/27/raspberry-pi-as-arduino-hdmi-shield/
>
> Aber anscheinend sind sogar ältere Rapsis teurer als dieser HDMI-Shield,
> da tut man alles aus der Not heraus...

pi zero wären günstiger, aber bevor alte PI 1 sinnlos rumliegen wären 
sie ein perfektes HDMI shield.
Die Echtzeitprogrammierung für Sensoren ist nun mal am Arduino günstiger 
sowie die Libs und die 5V Fähigkeit ohne Klimmzüge.

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
Noch kein Account? Hier anmelden.