Forum: Mikrocontroller und Digitale Elektronik Daten auf TFT-Bildschirm mit Mikrocontroller darstellen


von Jens (Gast)


Lesenswert?

Hallo,
ich möchte gerne mit einem Controller Daten auf ein TFT-Bildschirm 
darstellen. Es gibt zwar viele leute, die selber ein Adapter (VGA) (z.B. 
für einen ATMega) gebastelt haben, aber nie komplett veröffentlicht 
haben (entweder es fehlte was von der Hardware oder die Software hat 
komplett gefehtl). Was wäre denn die "günstigste" Möglichkeit das 
Umzusetzen? Mit einem Raspberry Pi bin ich ja schon bei 40€. Oder hat 
jemand eine Anleitung wie man so einen Adapter bauen kann und wie man 
dann die Daten auf dem Bildschirm bekommt? Programmieren würde ich das 
dann ganz gerne in C/C++.

Jens

von Joachim S. (oyo)


Lesenswert?

Was für ein Display soll's denn sein?
Wenn es ein vglw. kleines Display mit geringer Auflösung sein darf, 
kannst Du recht günstig davonkommen.
Wenn Du ein paar Wochen warten kannst (wegen China-Import), dann 
bekommst Du bspw. einen 2.8"-Touchscreen mit 320x240 Pixel schon für 6 
Euro incl. Porto:
https://www.aliexpress.com/item/J34-F85-Free-Shipping-2-8-240x320-SPI-TFT-LCD-Serial-Port-Module-PCB-Adapter-Micro/32602444645.html
Mit schneller Lieferung direkt aus Deutschland kostet das dann halt ein 
paar Euro mehr.

Die Dinger sind vglw. leicht per SPI mit Mikrocontrollern zu benutzen. 
Nur die entsprechenden Leitungen verbinden, für die Ansteuerung gibt es 
fertige Libraries wie ucglib (https://github.com/olikraus/ucglib).

von Jens (Gast)


Lesenswert?

Joachim S. schrieb:
> Was für ein Display soll's denn sein?

Es sollte schon min. 15 Zoll sein

von Manfred (Gast)


Lesenswert?

Schau dir das mal an. Ich habe das als Bausatz gekauft und bin sehr 
zufrieden.
http://www.tvterminal.de/index1.html

von R. R. (elec-lisper)


Lesenswert?

Ich hatte vor einiger Zeit was ähnliches gesucht für
die Visualisierung meiner Haustechnik die ich hier und da
verteilt hab (Temperaturen, Briefkastenmelder, usw.).

Ich suche allerdings immer gerne Lösungen, die ich, falls
sie mal kaputt gehen, einfach wieder beschaffen kann.
Da ich Softwareentwickler bin scheu ich meist auch nicht
vor PC-Programmierung zurück.

Erstmal kommt einem da der Raspberry Pi ins Auge.
Da gibts ja sogar ein extra Display für. Und HDMI
kann der auch. Aber ich will mir keinen 15" Monitor in meinen Flur
hängen. Genauso wenig aber mit dem Pi und Display
rumfummeln, da das ganze zusammen dann auch schnell teurer
wird. Und das für eine Lösung die mir am Ende eh zu frickelig
ist.

Ich habe mich dann erstmal dafür entschlossen ein altes Smartphone
wieder zu verwenden. Das will ich mit USB-Netzteil und ner Halerung
an die Wand ballern. Dort drauf läuft dann im Browser eine
kleine Web-Anwendung die mir div. Dinge visualisiert.
Als (Web-)Server agiert dann entweder einer meiner ausrangierten
Rechner oder ein Pi im Keller.
Und erst dann kommt die Brücke zum Controller mit RS232<->TTL
Wandler (ggf. On-Board mit FT232R).

Ich geb zu, die Lösung klingt relativer Overkill. Aber da ich
Beruflich eh Warenwirtschaftskram (u.A. mit Web-Anwendungen)
programmiere, ist der Web-Anwendungskram
für mich sehr einfach umzusetzen.

Der Vorteil ist natürlich, dass man jederzeit auch übers VPN
mal rein schauen kann, genauso aber auch über sein Smartphone
via W-Lan. Und auch die Daueranzeige an der Wand kann schnell
ersetzt werden durch ein anderes Smartphone. Die Dinger dürfen
sogar alt sein. Ein paar Zahlen und ggf. ein Graph frisst ja keine
Leistung.

von Mehmet K. (mkmk)


Lesenswert?

Joachim S. schrieb:
> (...) einen 2.8"-Touchscreen (...)

Description:
Type: without touch panel
Size:2.8" SPI Serial
(...)

von Markus (Gast)


Lesenswert?

>ich möchte gerne mit einem Controller Daten auf ein TFT-Bildschirm
>darstellen

Beitrag "Re: 2.2'TFT ILI9340 und Arduino"

von Joachim S. (oyo)


Lesenswert?

Mehmet K. schrieb:
> Joachim S. schrieb:
>> (...) einen 2.8"-Touchscreen (...)
>
> Description:
> Type: without touch panel
> Size:2.8" SPI Serial
> (...)

Oops, da habe ich wohl nicht genau genug hingeschaut und versehentlich 
das falsche Angebot herausgesucht. Mit Touch kostet das Ganze vermutlich 
nochmal 1-2 Euro mehr, aber da der Threadstarter ja eh nicht nach einem 
Touchscreen gefragt hat, wäre das wohl auch nicht das Problem gewesen.

@Threadstarter: Wenn ich Dich richtig verstehe, willst du also einen 
typischen Flachbildschirm für PCs verwenden, mit VGA, DVI oder 
HDMI-Eingang und vglw. hoher Auflösung?
In diesem Fall dürfte die einfachste und günstigste Möglichkeit 
vermutlich wirklich sein, gleich ein vergleichsweise leistungsstarkes, 
linuxfähiges Board wie eben den Raspberry Pi zu nutzen, das direkt über 
einen HDMI-Ausgang verfügt.
Wenn Dir die 40 Euro für einen neuen Raspberry Pi 3 zuviel sind, dann 
nimm doch stattdessen ein gebrauchtes älteres Raspberry Pi-Modell, einen 
Pi Zero, einen OrangePC oder Ähnliches.

von Gästchen (Gast)


Lesenswert?

Mit einem µC wird das nix gescheites. Die haben schon alleine zu wenig 
RAM, um das ganze Bild zu puffern. D.h. man muss aufwändige Klimmzüge 
machen, und z.B. Daten von einer SD direkt in das Display schreiben.
Das lastet einen µC unnötig aus, und macht die Sache träge.

Da gehört ein richtiger Prozessor rein mit Grafikeinheit. Der muss ja 
nicht die ganze Arbeit des µC machen, kann aber die Anzeige braucht 
schon mehr Dampf, als ein µC liefern kann.

Also ein ARM9 oder ähnliches mit >200MHz und mehreren MByte RAM, 
vorzugsweise mit einer richtigen Grafikeinheit.
Der hat auch die nötigen Schnittstellen wie LVDS, VGA oder DVI/HDMI oder 
paralle. Auch das hat ein µC meist nicht.

Ich kann aus der Praxis sagen:
Ein großes (!) GLCD mittels µC gesteuert ist mir noch nie untergekommen. 
Bei allen solchen Sachen die ich zerlegt  verwendet  gesehen habe war 
immer etwas "dickers" als ein µC din.

Für µC kann man Monochrome mit z.B. 102x64 oder so nehmen. Aber keine 
riesigen Farbdisplays wie ein 15´´. Das mag möglich sein, ist aber immer 
nur eine Notlösung. Selbst mit einem STM32F7.

von Jens (Gast)


Lesenswert?

Joachim S. schrieb:
> In diesem Fall dürfte die einfachste und günstigste Möglichkeit
> vermutlich wirklich sein, gleich ein vergleichsweise leistungsstarkes,
> linuxfähiges Board wie eben den Raspberry Pi zu nutzen, das direkt über
> einen HDMI-Ausgang verfügt.

Dann werde ich das wohl auch machen. Ist wohl wirklich die einfachste 
Möglichkeit. Dann kann ich wahrscheinlich auch grafiken darstellen. Dann 
werde ich mich mal damit beschäftigen, wie ich das ding Programmieren 
kann.

Danke euch aber für eure Rückmeldungen.

von Frank (Gast)


Lesenswert?

Gab es nicht mal von FTDI diese EVE Geschichte?
War das nicht genau für so etwas?
Hab mir das nie genau angeschaut...

von Rudolph R. (rudolph)


Lesenswert?

Frank schrieb:
> Gab es nicht mal von FTDI diese EVE Geschichte?

Gibt es, läuft.
http://www.ftdichip.com/EVE/EVEApplications.htm
Beitrag "FT800 / FT810 Library"

Die sind wohl auch in diversen Produkten verbaut, leider konnte ich noch 
kein konkretes Produkt in Erfahrung bringen, irgendwelche 
Kaffeeautomaten und so.

Das hier läuft mit 50 Bildern pro Sekunde auf einem AVR:
https://www.mikrocontroller.net/attachment/314717/FT813_RVT70UQFNWC0x.jpg

Ohne nennenswerte Last wohlgemerkt, so unter 10%, aber da ist in dem 
Sinne auch keine Applikation drunter.

Allerdings, im Moment geht das "nur" bis 800x600 und die Auswahl an TFTs 
mit FT8xx Chips ist ziemlich dünn.
Einzeln sind die dann auch ziemlich kostspielig, für das abgebildete 7" 
RVT70UQFNWC01 muss man schon 110 Euro rechnen.
Wie das bei Komponenten so ist, bei kleinen Stückzahlen bezahlt man im 
wesentlichen denjenigen der zum Regal läuft und das Teil verpackt.

Ein größeres TFT zu bekommen ist auch nicht so einfach, zum einen dreht 
das Marketing ziemlich frei bei der Pixel-Dichte, zum anderen möchte man 
ja kapazitiv-touch haben und da geht nicht jeder Touch-Chip am FT8xx.

Dazu kommt noch, dass TFTs ohnehin nicht gehandelt werden wie andere 
Komponenten, die sind in aller Regel ja bei Bastlern nicht so gefragt, 
eben weil man die nicht "mal eben so" an einen µC klemmen kann oder 
konnte.

Was man auch nicht unterschätzen sollte ist die Stromversorgung, ich 
setze da gerade noch einen 600mA Schaltregler ein der auf 5,1V regelt, 
der ist für das RVT70UQFNWC0x im Grunde aber schon unter-dimensioniert.
Nur für das TFT wohlgemerkt, die Hintergrundbeleuchtung frisst reichlich 
Strom und FT8xx+Touch+TFT-Panel kommen auch noch mal so auf >110mA bei 
3,3V.

Ein OLED Panel hätte ja was, aber die Idee kann man gleich wieder 
vergessen. Das ist zwar technisch machbar, praktisch aber nicht zu 
bekommen.
Auf jeden Fall sowieso nicht mit technisch sinnvoller Pixel-Dichte, 
heute muss ja alles mindestens 4k Full-HD haben. :-(

von Sheeva P. (sheevaplug)


Lesenswert?

Jens schrieb:
> Joachim S. schrieb:
>> In diesem Fall dürfte die einfachste und günstigste Möglichkeit
>> vermutlich wirklich sein, gleich ein vergleichsweise leistungsstarkes,
>> linuxfähiges Board wie eben den Raspberry Pi zu nutzen, das direkt über
>> einen HDMI-Ausgang verfügt.
>
> Dann werde ich das wohl auch machen. Ist wohl wirklich die einfachste
> Möglichkeit. Dann kann ich wahrscheinlich auch grafiken darstellen.

Ja, natürlich.

> Dann werde ich mich mal damit beschäftigen, wie ich das ding
> Programmieren kann.

Damit stehst Du im Prinzip vor zwei Möglichkeiten. Entweder entwickelst 
Du eine ganz normale GUI-Anwendung in C, C++, Python, Perl, Pascal oder 
Ruby. Die läßt Du dann im Fullscreen-Modus als X-Client für einen 
automatisch eingeloggten User laufen, fertig.

Etwas flexibler bist Du, wenn Du eine kleine Webanwendung schreibst, die 
Grafiken zum Beispiel mit flot, jqPlot oder jqWidgets dynamisch erzeugt. 
Zur Darstellung startest Du für den automatisch eingeloggten User 
einfach einen Browser als X-Client im Fullscreen-Modus. Diese 
Herangehensweise hätte den Vorteil, daß Du Deine Anwendung auch von 
externen Geräten wie Tablets, Smartphone, Desktop oder Laptop nutzen 
kannst.

In beiden Fällen kannst Du natürlich auch einen Touchscreen verwenden, 
zum Beispiel das aktuelle RasPi-Display.

von Rudolph R. (rudolph)


Lesenswert?

Sheeva P. schrieb:
> zum Beispiel das aktuelle RasPi-Display.

Das offizielle 7" RasPi-TFT hat allerdings den Makel, dass die Pixel 
nicht quadratisch sind.
Mal davon ab, dass ich das Ding für ein "Massenprodukt" ziemlich teuer 
finde.

von Flip B. (frickelfreak)


Lesenswert?

Für die Visualisierung benutze ich am liebsten ein android-Tablet dem 
ich per Bluetooth daten sende.

von Joachim S. (oyo)


Lesenswert?

Sheeva P. schrieb:
> Etwas flexibler bist Du, wenn Du eine kleine Webanwendung schreibst, die
> Grafiken zum Beispiel mit flot, jqPlot oder jqWidgets dynamisch erzeugt.
> Zur Darstellung startest Du für den automatisch eingeloggten User
> einfach einen Browser als X-Client im Fullscreen-Modus. Diese
> Herangehensweise hätte den Vorteil, daß Du Deine Anwendung auch von
> externen Geräten wie Tablets, Smartphone, Desktop oder Laptop nutzen
> kannst.

Wenn ich persönlich so etwas umsetzen würde, würde ich persönlich auch 
eher zu dieser Option tendieren, aus den genannten Gründen. Wenn man 
nach "Raspberry Pi Kiosk Mode" googlet, findet man zahlreiche 
Anleitungen, wie man so etwas einrichtet.

von Sheeva P. (sheevaplug)


Lesenswert?

Rudolph R. schrieb:
> Sheeva P. schrieb:
>> zum Beispiel das aktuelle RasPi-Display.
>
> Das offizielle 7" RasPi-TFT hat allerdings den Makel, dass die Pixel
> nicht quadratisch sind.

Für die meisten Anwendungen dürfte das kein Problem sein, ansonsten muß 
man seine Grafiken oder seine Anzeige eben skalieren.

> Mal davon ab, dass ich das Ding für ein "Massenprodukt" ziemlich teuer
> finde.

Ach, weißte... Ich hab' gerade mal beim großen F hineingeschaut, da 
kosten 7"-Touchscreens 68,05 bis 103,76 Euro ab 10 Stück, bei 
Einzelabnahme sogar zwischen 79,38 und 121,04 Euro. Deswegen finde ich 
die 57,70 Euro für den offiziellen RasPi-Touchscreen keineswegs teuer, 
zumal solch ein primär an Bastler gerichtetes Angebot sicherlich kein 
Massenprodukt ist.

von R. R. (elec-lisper)


Lesenswert?

Joachim S. schrieb:
> Wenn ich persönlich so etwas umsetzen würde, würde ich persönlich auch
> eher zu dieser Option tendieren, aus den genannten Gründen. Wenn man
> nach "Raspberry Pi Kiosk Mode" googlet, findet man zahlreiche
> Anleitungen, wie man so etwas einrichtet.

Es ist halt einiges an Technologie-Stack was man da beherrschen
muss. Der Kiosk-Mode ist da fast noch das geringste Problem.
Die Webanwendung wird natürlich um einiges einfacher, wenn man bspw.
Python mit nem HTTP-Server-Modul als Backend nimmt.
Dann braucht man nur noch bissl HTML+JavaScript+Ajax-Gewurschtel
und man ist fast fertig.

von Poster (Gast)


Lesenswert?

Ich habe mich selber damit noch nicht so beschäftigt aber könnte man da 
z.B. Nicht so ein Amazon Fire Tablet für missbrauchen/modifiziert. 60 
Euro für ein 7" Touch mir Rechner gleich dabei sind doch ein guter Kurs.

von R. R. (elec-lisper)


Lesenswert?

Poster schrieb:
> Ich habe mich selber damit noch nicht so beschäftigt aber könnte man da
> z.B. Nicht so ein Amazon Fire Tablet für missbrauchen/modifiziert. 60
> Euro für ein 7" Touch mir Rechner gleich dabei sind doch ein guter Kurs.

Absolut, ich hab mir so ein TrekStor Wintron 7.0 für ~70€ gekauft.
Leistungsmäßig kann das Ding nix, also nichmal FullHD,
aber für eine Webseite mit ein paar Graphen reicht das um Welten aus.
Leider hat so ein Tablet oder Smartphone naturbedingt nur W-Lan, und
ich benutze ungern etwas im W-Lan, was einfach funktionieren 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
Noch kein Account? Hier anmelden.