Forum: Mikrocontroller und Digitale Elektronik tft display für grafische benutzeroberfläche


von Rolf F. (Gast)


Lesenswert?

Mahlzeit,
ich möchte mir ein TFT-Display holen und dafür eine Grafische 
Benutzeroberfläche programmieren. Was brauche ich dazu? Visual Studio 
und QT-Designer? Oder reicht auch eins von beiden? Oder ist sogar beides 
falsch?

Bin über jeden hinweis dankbar.

Rolf F.

von Franz-Ferdinand Ferd (Gast)


Lesenswert?

Du gibst Details an, die keine Rolle spielen (die Art des Displays (*)) 
und lässt alles weg, was wichtig wäre ... Welches Betriebssystem? Welche 
Programmiersprache? Warum nur eine GUI, existiert der Rest schon? Wie 
umfangreich soll das Ganze werden?

(*) Sofern du einen PC und einen "normal" daran angeschlossenen Monitor 
meinst.

von Manfred Lub (Gast)


Lesenswert?

Wenn du es nicht kannst oder so.
Ich empfehle dir Nextion Hmi displays
Wie Ebay 391329519078.

Lassen sich mehr oder weniger Einfach in einer Klick Bunt
Benutzeroberfläche in Windows Programmieren sind erstaunlich billig
Und brauchen nur 5v. Signal geben sie Seriell aus und Seriell kann man
sie auch mit Informationen füttern.

Zb du erstellt auf deinem Display ein Textfeld mit Wunsch Schrift und 
Farbe
und sendest über Seriell nur den Text der dann dort erscheint.

von Georg (Gast)


Lesenswert?

Rolf F. schrieb:
> Was brauche ich dazu? Visual Studio
> und QT-Designer?

Was du da anführst setzt auf ein Betriebssystem mit grafischer 
Benutzeroberfläche auf, also Windows oder Linux. Wenn du das nicht hast, 
musst du damit anfangen, dir eine eigenes solches Betriebssystem zu 
programmieren.

Georg

von Torben K. (tokuhila)


Lesenswert?

Manfred Lub schrieb:
> Ich empfehle dir Nextion Hmi displays
> Wie Ebay 391329519078.

Die gibts übrigens auch zu fast gleichen Preisen in Deutschland. 
Schneller geliefert und keinen Stress mit dem Zoll bei den großen Größen

von Rolf F. (Gast)


Lesenswert?

Ahso, so weit hatte ich noch nicht gedacht.
Ich bräuchte ein Display, auf dem ich eine Menüstruktur aufbauen kann 
und dass beim Drücken eines bestimmten Feldes ein neues Fenster zeigt, 
bzw. Daten zum Mikrocontroller sendet.
Da ich das noch nicht habe, wollte ich erst am Computer (Windows) die 
Oberfläche Programmieren.
Dann habe ich gedacht, dass ich das compilieren könnte und auf das 
Displaymodul spielen könnte.

Dann muss ich noch erst mal weiter gucken

von Draco (Gast)


Lesenswert?

Rolf F. schrieb:
> Da ich das noch nicht habe, wollte ich erst am Computer (Windows) die
> Oberfläche Programmieren.

Beim Kuchen backen fängt man auch erst mit der Glasur an, sieht halt 
einfach besser aus.

von der mechatroniker (Gast)


Lesenswert?

Na ja, mit einem Tool, mit dem man schnell zum Ziel kommt, einen 
"interaktiven Prototypen" zu bauen, kann bei einer GUI schon sinnvoll 
sein.

von Z. Udummfür (Gast)


Lesenswert?

> Beim Kuchen backen fängt man auch erst mit der Glasur an, sieht halt
> einfach besser aus.

Besonders wenn man in der Küche den Backofen nicht vom Wasserhahn 
unterscheiden kann.
(wo wird denn hier die Kohle eingefüllt?)

von Z. Udummfür (Gast)


Lesenswert?

> Na ja, mit einem Tool, mit dem man schnell zum Ziel kommt, einen
> "interaktiven Prototypen" zu bauen, kann bei einer GUI schon sinnvoll
> sein.

Also Fingermalfarben, die kleben überall dran und wenn's trocken ist 
kann man den farbigen Film am Stück abziehen und anderswo dranpappen.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Z. Udummfür schrieb:
> kann man den farbigen Film am Stück abziehen

Du kennst nur einen Bruchteil der Möglichkeiten. Richtige 
Fingermalfarben bilden keinen abziehbaren Film, das wäre ja noch 
schöner.

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Für sehr begrenzte Ressourcen gab es unter (uC-)Linux auch mal 
nanowindows und ein zweites System, dessen Name ich gerade verdrängt 
habe :-P

Das lief jedenfalls sogar auf dem Palm III mit 16Mhz m68k und 2MB ROM.

von Rolf F. (Gast)


Lesenswert?

Da das doch nicht so funktiniert wie ich gedacht habe, habe ich dann 
noch ein paar Nachfragen:
Ich möchte eine Bedienoberfläche erstellen, wo man Passwort eingeben 
kann und sich dann durch ein Menü durchtippen kann. Bei bestimmten 
Tasten (z.B. 'Start') soll ein Signal an einem Mikrocontroller gesendet 
werden. (wenn möglich, über UART (also Daten und nicht nur I/O).
Dazu habe ich gedacht, mache ich das Menü in C++ QT und lade es dann auf 
das Display-Modul. Da ich das noch nie gemacht habe, wollte ich das 
Menü, welches dann auf dem Display erscheinen soll, zunächst am Computer 
bauen.

Was für ein Modul bräuchte ich dafür?
Was für Software bräuchte ich dafür?
Ist das überhaupt möglich, wie ich es mir vorgestellt habe? (bei den 
bisherigen Kommentaren denke ich eher nicht)
Auf was muss ich dann bei dem Display achten? (Anschlüsse)

Danke schon einmal für die Antworten

Rolf

von Rolf M. (rmagnus)


Lesenswert?

Rolf F. schrieb:
> Ich möchte eine Bedienoberfläche erstellen, wo man Passwort eingeben
> kann und sich dann durch ein Menü durchtippen kann. Bei bestimmten
> Tasten (z.B. 'Start') soll ein Signal an einem Mikrocontroller gesendet
> werden. (wenn möglich, über UART (also Daten und nicht nur I/O).

> Dazu habe ich gedacht, mache ich das Menü in C++ QT und lade es dann auf
> das Display-Modul.

Dann muss dein "Display-Modul" ein PC oder ein Linux-Board sein.
Displays machen von sich aus normalerweise nichts, sondern werden von 
einem Rechner oder µC angesteuert. "Auf das Display laden" kann man in 
der Regel nichts. Auf dem läuft dann also auch kein Menü. Es zeigt nur 
an, was der ansteuernde Rechner ihm sagt, und auf dem muss dann das Menü 
laufen. Wenn du das mit Qt machen willst, muss es für den also auch Qt 
geben. Und nein, für µCs gibt's keine Qt.

> Was für ein Modul bräuchte ich dafür?
> Was für Software bräuchte ich dafür?
> Ist das überhaupt möglich, wie ich es mir vorgestellt habe? (bei den
> bisherigen Kommentaren denke ich eher nicht)

Richtig.

von Georg (Gast)


Lesenswert?

Rolf F. schrieb:
> Dazu habe ich gedacht, mache ich das Menü in C++ QT und lade es dann auf
> das Display-Modul.

Wenn du nicht ein komplettes Betriebssystem selber programmieren willst, 
wie ich schon oben geschrieben habe, musst du ein System mit Windows 
oder Linux verwenden. Dein "Displaymodul" ist also mindestens sowas wie 
ein Raspberry Pi oder vergleichbare Systeme.

Rein theoretisch kann man natürlich die ganze Grafik vom Hintergrund bis 
zum Menü zu Fuss für einen Microcontroller und eine Anzeige 
programmieren (Bill Gates hat ja auch mal ganz klein angefangen), aber 
sinnvoll ist das nicht, und wenn man so garkeine Ahnung hat würde das 
Jahre bis Jahrzehnte dauern.

Georg

von Rolf F. (Gast)


Lesenswert?

Oh, das funktioniert alles andere als geplant :(. Aber danke für eure 
Kommentare. Habe viel gesucht, bin aber jetzt nicht wirklich schlauer. 
Daher würde ich gerne noch einmal ein paar Fragen stellen.

Wenn ich Programme (conway's game of life) für meinem Computer (Windows) 
programmieren möchte. Das aber nicht auf der Console, sondern auf einer 
richtigen Oberfläche. Mit Buttons und grafischer Darstellung. Was 
brauche ich dazu alles?
QT oder GTK?
Die scheint beides das selbe zu sein, blos andere Programme. Benötige 
ich dann noch Visual Studio? Habe ich dann auch eine Grafische 
Programmieroberfläche (Also wo ich die Buttons hinschieben kann)? Oder 
ist das nur eine Bibliothek, die ich in Visual Studio einbinden kann? 
Oder brauche ich Visual Studio gar nicht? Und alles geht mit einem von 
diesen zwei Programmen?

Kurze und bündig, was benötige ich alles um an meinem Computer (Windows) 
Bedienoberflächen und kleine spiele zu programmieren? (Das die 
Bedienoberfläche nicht für den Mikrocontroller ist, ist mir bewusst)

Die Frage mit dem TFT-Display werde ich im uc & Elektronik stellen, da 
ich da auch nicht wirklich weiter gekommen bin.

Rolf

von Rolf F. (Gast)


Lesenswert?

Hallo,
ich möchte gerne ein Menü mit verschiedenen funktionen für ein 
TFT-Display (5Zoll) erstellen.
Jetzt habe ich schon lange gesucht aber bin nicht wirklich schlau 
geworden.
Es soll ein Menü sein, wo ich durch Tasten (auf dem Display) 
verschiedenen Fenster öffnen kann und z.B. mit einem Start-Button (auf 
dem Display) eine Funktion ausführen kann.

Zunächst habe ich gedacht, dass ich das ganze mit QT-Designer erstellen 
kann und nach dem Kompilieren auf dem Mikrocontroller spielen kann. Das 
habe ich schon erfahren, dass das nicht so geht 
(http://www.mikrocontroller.net/topic/398405#new)

Wenn ich jetzt nach Displays suche, weiss ich leider nicht worauf ich 
genau achten soll. Alles was ich finde, sind immer shilder für ein 
Arduino oder Raspbarry. Ich möchte aber eigentlich ohne Arduino. Aber 
trotzdem mit einem Atmega.

Was brauche ich dazu alles? Ich habe auch keine Seite gefunden, wo es 
beispiele, bzw. anleitungen dazu gibt (wahrscheinlich, weil es so viele 
unterschiedliche möglichkeiten gibt).

Rolf

von Rudolph R. (rudolph)


Lesenswert?

Schau Dir das mal an:

Beitrag "FT800 / FT810 Library"

Gerade für kleine 8 Bit Controller ist der FT8xx super.

Es gibt da zwar die preiswerten chinesischen TFTs,
so eines habe ich ja auch benutzt.

Ich habe aber auch gerade auf der Arbeit ein VM800B50A von FTDI erhalten 
und im direkten Vergleich gewinnt das ganz klar.

Das FT800CB-HY50B hat im Vergleich zum VM800B50A einen viel kleineren 
Blickwinkel.

Noch besser dürfte das VM801B50A aussehen, da dieses einen 
kapazitiv-Touch hat, die 130+ Euro wollte ich dafür allerdings noch 
nicht ausgeben.

In 5" gibt es auch noch TFTs von Riverdi mit dem FT8xx, die habe ich mir 
aber auch noch nicht leisten wollen.

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Rolf F. schrieb:
> QT oder GTK?
> Die scheint beides das selbe zu sein, blos andere Programme. Benötige
> ich dann noch Visual Studio? Habe ich dann auch eine Grafische
> Programmieroberfläche (Also wo ich die Buttons hinschieben kann)?

Kann es sein, das du ein wenig die Sachen durcheinander bringst? Visual 
Studio ist erstmal nur eine Entwicklungsumgebung, mit der Projekte 
verwaltet werden können und in der entsprechenden Ausführung (VS C++ 
Express oder VS C#) auch Programme in C, C++ oder C# programmiert und 
kompiliert werden können, die dann z.B. unter Windows laufen.
Welche Grafik Umgebungen oder Runtimes benutzt werden, ist dabei eine 
ganz andere Sache.
Du kannst auch ohne QT, GTK oder TCL, also alleine in Win32/64 oder .Net 
Programme mit Buttons u.ä. schreiben.

von c-hater (Gast)


Lesenswert?

Rolf F. schrieb:

> Kurze und bündig, was benötige ich alles um an meinem Computer (Windows)
> Bedienoberflächen und kleine spiele zu programmieren? (Das die
> Bedienoberfläche nicht für den Mikrocontroller ist, ist mir bewusst)

Irgendeinen Compiler, praktischerweise mit IDE. Z.B.: VisualStudio.

von Rudolph R. (rudolph)


Lesenswert?

Ach ja, es gibt von FTDI auch einen Screen-Editor:

http://www.ftdichip.com/Support/Utilities.htm#EVEScreenEditor
https://www.youtube.com/watch?v=KDUgmK7E99E

Damit kann man sich zumindest das Aussehen der Oberfläche unter Windows 
zusammen schieben.
Für Arduino kann man den Code auch direkt exportieren, für die Library 
von Glyn gibt es auch ein entsprechendes Python Script.
Für meine Library hatte ich nur mal angefangen da was zu schnitzen, aber 
noch nicht wirklich Bedarf gehabt.
Copy/Paste, bisschen anpassen, läuft.

Dann braucht noch Code drum herum, man muss das Touch-Register auslesen 
und auf das Klicken auf die Objekte reagieren.
Damit etwa ein Button auch für den Benutzer als gedrückt gemeldet wird, 
muss man dem FT8xx mitteilen, dass dieser anders dargestellt werden 
soll, etwa von 3D umschalten auf Flat.
Toggle-Buttons, Slider, Gauge, Dial, alle Elemente werden von den FT8xx 
mit sehr einfach angezeigt, die werden aber nicht automatisch geändert.
Das halte ich nicht mal für einen Nachteil, wenn sich was ändert weiss 
man wenigstens, dass der eigene Controller das ausgelöst hat.

Man kann auch jedesmal wenn ein Touch erkannt wird einen Ton spielen 
lassen über den FT8xx, mit den VM8xxBxx sogar über den eingebauten 
Verstärker und Lautsprecher.

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.