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
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).
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.
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.
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.
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.
Frank schrieb:> Gab es nicht mal von FTDI diese EVE Geschichte?
Gibt es, läuft.
http://www.ftdichip.com/EVE/EVEApplications.htmBeitrag "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. :-(
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.
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.
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.
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.
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.
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.
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.