Forum: Mikrocontroller und Digitale Elektronik Touchscreen TFT Anwendung


von Nobody 0. (nobody08)


Lesenswert?

Hallo Forengemeinde,
ich möchte mich näher mit dem Thema TFT, Touchscreen, µC beschäftigen.
Das lesen einiger Forenbeiträge & zusätzliche Google Recherche, haben 
mir dabei schon ein klein wenig Klarheit verschaft. Jedoch bleiben noch 
einige Fragen offen, auf die ich nun hier hoffentlich Antworten bekomme.

Meine Erfahrungen im Bereich µC bzw. Hard- und Softwareentwicklung 
beschränken sich auf ATmega8, AT90CAN128 mit fundierten C- sowie 
grundlegenden Assemblerkenntnissen.

Meine optimistische Zielsetzung für mein Projekt ist, mit 
kostengünstigen Teilen vom Massenmarkt eine zuverlässige Lösung zu 
finden.

Worum geht es genau:
Ich möchte mit meinem Projekt gewisse Steuerungsaufgaben erledigen. Dazu 
soll auf einem TFT Display ein xbeliebiges Bild ausgeben werden (keine 
monochrome Grafik). Durch berühren des Touchscreens an bestimmten 
Stellen, wird ein neues Bild ausgegeben um bspw. Untermenüs zu 
realisieren.
In den Untermenues möchte ich dann Daten grafisch ausgeben oder durch 
bestimmte Buttons Ausgänge schalten, Werte ändern, etc.

Es ist vielleicht etwas umständlich ausgedrückt, aber ich denke ihr 
wisst was ich meine. Welche Vorschläge zur Realisierung könnt ihr mir 
geben?

Gibt es günstige Teilkomponenten wie z.B. Displays in einer gängigen 
Größe für Navi oder Smartphoneanwendungen die man für sowas verwenden 
könnte ? Bei Ebay gibt es zahlreiche Angebote über die ich derzeit noch 
keinen Überblick habe. Was ist bei der Auswahl zu beachten ? 
(Grafikchip, Touchchip on board?)
Desweiteren gibt es ja wohl noch die Möglichkeit, TFT und Touch-Pad 
seperat zu erwerben. Erweist sich sowas als kostengünstiger oder 
vielleicht sogar als viel zu Aufwändig, da die Komponenten vielleicht 
gar nicht harmonieren oder erst aufwändig zusammengetragen werden 
müssten?

Zuletzt ist die Frage, mit welchen Kontrollern (Steuerung,Grafik, Touch) 
ich diese Wünsche verarbeiten könnte. Ich möchte hier keine 
Grundsatzdiskussion entfachen, aber irgendwas von Atmel wäre mir als 
Kern µC schon recht. Die Struktur dieses µCs habe ich schon kennen 
gelernt und könnte somit die Sache schneller Umsetzen.

Ich hoffe auf zahlreiche, informative Tips.

von Peter L. (peter_l)


Lesenswert?

Die einfachste Möglichkeit für Dich ist dann wohl ein Display mit 
integriertem (Touch)-Controller.

Dieses LCD Touch Display:
http://www.steitec.net/Displays/TFT-240x320-Touch-3-2.html

z.B. lässt sich lt. Beschreibung auch im SPI Modus ansteuern. Sollte 
dann auch mit kleineren Mikrocontrollern problemlos funktionieren.

Bei dem Anbieter musst Du nur beachten, dass zu den 45 Euro für das 
Display noch der Versand und die 19% Steuer kommen.

von prinz3nroll3 (Gast)


Lesenswert?

hallo,
ähnlich einfach sind die displays von electronic assembly
http://www.lcd-module.de bekommt man unter anderem bei reichelt
gruß

von ... (Gast)


Lesenswert?

Eine Möglichkeit wäre, einen Grasshopper mit PSP-Display und Touchpanel 
zu verwenden. Siehe diesen Thread: 
Beitrag "Grasshopper und TFT Display"
Darauf dann deine Anwendung unter QT erstellen.

von Nobody 0. (nobody08)


Lesenswert?

Zunächst schonmal vielen Dank für die Vorschläge.

Peter Leinfelder schrieb:
> Dieses LCD Touch Display:
> http://www.steitec.net/Displays/TFT-240x320-Touch-3-2.html

Prinzipiell eine gute Idee, leider etwas zu klein und zu teuer.
Aus diesem Grund scheiden auch die Teile von "electronic assembly" aus.

Der letzte Vorschlag, scheint mir schon sehr gut. Die TFT´s incl. Touch 
sind für den Massenmarkt gebaut und dementsprechend günstig zu bekommen.

Sehe ich es richtig, dass diese TFT´s + Touchpanel ohne Elektronik bzw. 
Controller daher kommen? Die Sache mit dem Grasshopper ist mir jedoch 
nicht ganz klar. Dies ist doch ein Experimentier-Board. Sehe ich das 
richtig ?
Ok, zum Probieren sicherlich super, aber für mein Vorhaben nicht ganz 
geeignet. Da auch ziemlich teuer.

Welche Komponenten sind denn unumgänglich um solch ein Display mit Input 
zu versorgen und entsprechenden Output zu generieren. Benötigt man auch 
einen Videocontroller o.ä.?

Für die Zukunft ist geplant das System schrittweise zu erweitern. 
Beispielsweise ein MP3-Player den ich mit dem Display bedienen kann. 
Dafür sollte der Controller reichhaltige Reserven besitzen. Weiterhin 
dachte ich an eine Webserverapplikation. Geht sowas überhaupt mit einem 
Controller oder sind da schon mehrere von nöten ?

von ... (Gast)


Lesenswert?

Nobody 08 schrieb:
> Welche Komponenten sind denn unumgänglich um solch ein Display mit Input
> zu versorgen und entsprechenden Output zu generieren. Benötigt man auch
> einen Videocontroller o.ä.?
genau, du brauchst einen Controller und einen Videocontroller, es sei 
denn der Controller hat wie beim AP7000 (der auf dem Grasshopper sitzt) 
beides vereint.

Nobody 08 schrieb:
> Für die Zukunft ist geplant das System schrittweise zu erweitern.
> Beispielsweise ein MP3-Player den ich mit dem Display bedienen kann.
> Dafür sollte der Controller reichhaltige Reserven besitzen.

auch hier kann ich auf den Grasshopper verweisen.

Nobody 08 schrieb:
> Weiterhin dachte ich an eine Webserverapplikation.
Dafür brauchst du Ethernet auf dem Board und möglichst ein 
Betriebssystem. Linux z.B. ---> Grasshopper ;)

Aber damit das hier nicht zu einseitig wird, es gibt auch noch z.B. das 
mini2440.

Auf jeden Fall würde ich davon abraten dir das aus einzelnen Komponenten 
zu bauen.

von Nobody 0. (nobody08)


Lesenswert?

Ich sehe schon, der kann einiges ;) ! Aber ist der Grasshopper bzw. das 
Board in Sachen Leistung nicht maßlos überdimensioniert? Ich meine da 
ist doch sonst noch allerlei Zeug drauf, mit dem ich vermutlich gar 
nichts anfangen kann und die Kosten nur unnötig in die Höhe treibt, 
oder?
Klar, wenn ich mir alles erst mal selbst zusammen suchen muss und das 
dann fertigen lassen möchte wirds wahrscheinlich auch nicht viel 
günstiger. Aber in dem Fall habe ich zumindest keine "unnötigen" 
Bauteile auf dem Board.

Mich interessiert primär, welche Komponenten durch hohe Stückzahlen 
günstig verfügbar sind und ich dann auch nur mit der minimalsten 
Ausstattung meine Sache realisiert bekomme.

Dieses mini2440 ist von arm und dementsprechend auch anders zu 
programmieren richtig ? Kann man Vor- und/oder Nachteile zwischen 
Grasshopper (~85€ und mini2440(~75€) ausmachen  ?

Mein Gedankengang war folgender (keine Ahnung ob dies Funktionieren 
würde):
µC (vllt. AT32AP7002 oder ATXmega128A1 ???) + je nach µControllertyp 
noch einen Display Controller (S1D13781 - ist so ein Displ.C im Prinzip 
der Videocontroller ?) + Touch Contoller (keine Ahnung welcher, oder ist 
dieser gar nicht mehr relevant) + zusätzlichen Speicher?? + kleinkram.

Diese Bauteile kommunizieren über irgendein einfaches Bussystem SPI oder 
I²C (wobei ich noch von beiden keinen Plan habe)
An dieses Bussystem könnte ich später meine Erweiterungen (MP3-Player, 
Embedded-Webserver, etc) hängen. (sorry wenns total daneben ist - 
korrigiert mich bitte !)

von Christian H. (netzwanze) Benutzerseite


Lesenswert?

Schau Dir dieses Projekt mal an:
Beitrag "NXP verschenkt ARM-Chips"

Basiert auf einem LPC2478 (ARM7).
Zur Zeit wird gerade an einem Display-Board gearbeitet.

Gut, ist mittlerweile einiges zu lesen und nur etwas für jemanden, der 
SMD-Löterfahrung hat (vor allem der PHY ist sehr schwer zu löten).

von Alexander S. (schroeder_90)


Lesenswert?

Ha das hab ich mir auch gedacht da wäre alles für dich drinnen ; )

von Nobody 0. (nobody08)


Lesenswert?

Also dieser LPC2478 von NXP ist ja der Hammer, laut Datenblatt sind 
unzählige Funktionen drin. Die Frage ist nur ob ich günstig ran komme 
oder vielleicht bei den unzähligen µC´s die NXP vertreibt, noch andere 
dabei sind die in Frage kommen. Da ich mich nicht durch diese unzähligen 
Datenblätter wühlen möchte, gebe ich die Frage weiter. Voraussetzung ist 
hier natürlich das ich im Bereich des Lötbaren bleibe (LQFP oder sowas).

Okay ich möchte nochmal genau Formulieren was ich eigentlich möchte:

µC mit Möglichkeit zum:
- Anschluss eines TFTs (maybe 4,3" PSP)
 (im Datenblatt des LPC2478 steht was von "LCD controller..."
Habe ich den Unterschied zwischen LCD und TFT noch nicht verstanden ? 
Wird der Begriff "LCD" für "TFT" fälschlicherweise Synonym verwendet?

- Anschluss eines Touch-Displays (benötigt man dazu lediglich einen ADC 
im µC oder ist der zusätzlich zum Touch-Controller notwendig ?)

- Realisierung eines Embedded-Webservers (Zugriff vom Netzwerk auf die 
GUI die auch der TFT bereit stellen soll)
Ich habe gelesen, dass Ethernet für solche Sachen unnötig bzw. oversized 
sei. Allerdings habe ich noch nicht ganz verstanden wie es ohne 
funktionieren soll. Immerhin werden ja Daten in beide Richtungen 
gesendet/empfangen.

Außerdem ist mir schleierhaft, wie ich die nicht unerheblich großen 
grafischen Objekte der GUI(Menuestruktur, Bilder, vllt. Videos usw.) der 
GUI speichern soll. Muss da zusätzlicher Speicher herbei oder reicht da 
der vom µC bereit gestellte (ich denke kaum)?

- Anschlussmöglichkeit einer kleinen Kamera die Bilder (keine Videos), 
bereit stellen soll (kann sowas auch der µC, zusätzlicher Speicher 
notwendig)

- Ein MP3-player mit Audioausgängen und ner SD-Karte als Speichermedium, 
zusätzlich die Möglichkeit für Line-In

- A/D Wandler, viele weitere Ein- und Ausgänge um einfache peripherie 
anzuschließen

Es kommt mir vor als wenn das alles total unmöglich sei, wenn ich es 
nicht (jedenfalls zum teil) schon selbst gesehen hätte. Stellt sich hier 
die Frage nach einem Betriebssystem ? Möchte gerne ohne auskommen da ich 
keine Erfahrung mit der Implementierung habe. Oder verkompliziert sich 
das Ganze dadurch ?

Wie ihr seht brennen mir tausend Fragen unter den Nägeln und ich hoffe 
ihr seid nicht erschlagen davon. Würde mich jedenfalls super über eure 
Antworten freuen, damit ich endlich etwas Licht am Ende des Tunnels 
sehe.

von Omega G. (omega) Benutzerseite


Lesenswert?

> µC mit Möglichkeit zum:
> - Anschluss eines TFTs (maybe 4,3" PSP)
>  (im Datenblatt des LPC2478 steht was von "LCD controller..."
> Habe ich den Unterschied zwischen LCD und TFT noch nicht verstanden ?
> Wird der Begriff "LCD" für "TFT" fälschlicherweise Synonym verwendet?

TFT Displays sind LCDs. LCD ist ein Sammelbegriff für alle 
Flüßigkristallanzeigen.

Der LPC2478 kann mit einem PSP Display arbeiten. Der Controller 
unterstützt bis zu 1024 x 768 bei 24 Bit Farbtiefe. Allerdings ist das 
Ausgeben eines so großen Bildes etwas langsam. 480x272 (PSP Display: 
kein Problem)

> - Anschluss eines Touch-Displays (benötigt man dazu lediglich einen ADC
> im µC oder ist der zusätzlich zum Touch-Controller notwendig ?)

Man kann den ADC dazu nutzen, aber ein externer Touchcontroller macht 
es etwas einfacher.

> - Realisierung eines Embedded-Webservers (Zugriff vom Netzwerk auf die
> GUI die auch der TFT bereit stellen soll)
> Ich habe gelesen, dass Ethernet für solche Sachen unnötig bzw. oversized
> sei. Allerdings habe ich noch nicht ganz verstanden wie es ohne
> funktionieren soll. Immerhin werden ja Daten in beide Richtungen
> gesendet/empfangen.

Embedded Webserver gibt es viele mit ENC28J60 und diversen Atmegas. 
Ethernet ist für dein Vorhaben Pflicht, anders geht es nicht. Wobei 
Ethernet != Netzwerk! Ethernet ist ein Protokoll, auf dem TCP, IP, ARP, 
ICMP, etc aufsetzen. Siehe auch: OSI-Modell

> Außerdem ist mir schleierhaft, wie ich die nicht unerheblich großen
> grafischen Objekte der GUI(Menuestruktur, Bilder, vllt. Videos usw.) der
> GUI speichern soll. Muss da zusätzlicher Speicher herbei oder reicht da
> der vom µC bereit gestellte (ich denke kaum)?

Entweder du speicherst die ganze GUI als Bild z.B. auf SD Karte ab und 
lädst die dann, oder du baust das quasi als Vektorgrafik ins Programm 
ein.

> - Anschlussmöglichkeit einer kleinen Kamera die Bilder (keine Videos),
> bereit stellen soll (kann sowas auch der µC, zusätzlicher Speicher
> notwendig)

Da gabs mal eine Handykamera von Siemens (?) die die Bilder im JPG 
Format über UART ausgeben kann.

> - Ein MP3-player mit Audioausgängen und ner SD-Karte als Speichermedium,
> zusätzlich die Möglichkeit für Line-In

Entweder in Software implementieren, oder einfacher einen VS* nehmen, 
wie auf dem LPC LCD Board.

> - A/D Wandler, viele weitere Ein- und Ausgänge um einfache peripherie
> anzuschließen

Hat fast jeder µC, aber alles konnte ich auf dem LPC Board nicht 
rausführen. Alexander hat aber einiges mit den LCD Board kompensieren 
können.


Wie ich sehe hast du dir den Thread zum LPC2478 durchgelesen. Der LPC 
kann mit LCD Board alles was du willst. Platinen habe ich noch, aber 
sonstige Bauteile nur teilweise. Und du musst es selbst zusammenbauen.

Hier habe ich noch eine sehr komprimierte Fassung zum LPC Board: 
http://gsg-elektronik.de/?id=64

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.