Forum: Mikrocontroller und Digitale Elektronik TFT Touchscreen für vielerlei Projekte


von Ardufreak (Gast)


Lesenswert?

Hey

Es gibt 2.5", 2.8", 3.5", 7" Displays die Chinesen immer günstiger 
anbieten.
Doch die weichen ja auch von einander ab, manche haben mehr pins, andere 
weniger. Es gibt verschiedene Versionen auf der Hardware. Was muss ich 
da alles beachten?

Jetzt brauch es halt Bibliotheken dazu.

Kennt ihr Nextion ?

Und was gibt es noch für alternativen und was sind die pro und contras?

Kommerziell anwendbar?

Was muss ich da noch alles wissen und verstehen?

von W.S. (Gast)


Lesenswert?

Ardufreak schrieb:
> Jetzt brauch es halt Bibliotheken dazu.

Ja dann fahr mal in die nächst größere Stadt, wo es eine Bibliothek 
gibt.
Was du brauchst, ist Wissen.

W.S.

von m.n. (Gast)


Lesenswert?

W.S. schrieb:
> Was du brauchst, ist Wissen.

Und das bekommt man u.a. durch Lesen des Datenblattes.

von Ardufreak (Gast)


Lesenswert?

Ich rede hier von pro und contras. Das sagen die Datenblätter nicht!

von Ardufreak (Gast)


Lesenswert?

Ich will nicht erst ein Display kaufen wenn Touchfunktion schlecht 
funktioniert. Es soll schon so ein Smartphone-Like sein.

Ihr kennt Nextion nicht oder ??

von Johannes S. (Gast)


Lesenswert?

Erstmal muss man auf die Schnittstelle gucken:
I2C: wenig Leitungen, langsam
SPI: nur wenig mehr Leitungen, schon schneller
Parallel 8/16 Bit: sehr schnell, viele Leitungen
andere: geht auch, aber schwieriger. Wenn kein Displaycontroller mit RAM 
vorhanden ist muss das der µC mitbringen. Läuft dafür oft sehr schnell.

Dann Farbtiefe: mehr Bits, mehr Farben, braucht mehr Speicher.

Wie schnell soll das Display sein? Gemütlich einmal Beschriftung und 
Buttons malen? Dafür reichen langsame Schnittstellen. Bilder anzeigen, 
Scrollen, Grafikeffekte -> µC mit ein bisschen mehr Power und Speicher 
sinnvoll, sowas wie Cortex-M mit viel Flash und viel RAM. Bitmaps und 
Fonts brauchen viel Flash, können aber evtl. auch von einer SDC 
nachgeladen werden.

Nextion ok, aber viele Cortex-M haben genug Power für App+Display in 
einem µC. Mein Favorit zur Zeit: STM32F407VE Board mit aufgestecktem 
Display, parallele Ansteuerung. Zusammen ca. 20€ bei Ali, nur das 
Display könnte besser sein.
Touch: passiv ist billig und einfach, aber weniger genau und Wischgesten 
sind nicht so gut ausführbar. Kapazitiv ist besser, da gibts auch einige 
STM32 Boards, die sind aber auch etwas teurer.

Grafiklib: https://github.com/littlevgl/lvgl

von Ardufreak (Gast)


Lesenswert?

Also passiv heisst Resistiv ?

Ich will schon extra uC dafür, damit die andere uC entlastet ist.

Zum Beispiel 3D-Drucker ansteuern mit Touch

Makebase MKS TFT bietet keine OpenSource oder libs an scheinbar.

Und welche kapazitiven Displays gibt es auf dem ich Grafiklib lvgl 
installieren könnte?

von Johannes S. (Gast)


Lesenswert?

Resistiv meinte ich, richtig.

lvgl hat ein paar Beispiele für Treiber: 
https://github.com/littlevgl/lv_drivers
FTS5406 scheint ein kapazitiver zu sein. Im Prinzip kann man beliebige 
Treiber an lvgl anbinden.

von m.n. (Gast)


Lesenswert?

Ardufreak schrieb:
> Zum Beispiel 3D-Drucker ansteuern mit Touch

Dafür braucht man kein besonderes Display und erst recht keine große 
Farbvielfalt. Resistiv oder kapazitiv ist dabei egal. Wichtiger ist eine 
entsprechende Größe, meinetwegen >= 4,3" damit man es gut ablesen und 
auch mit dicken Fingern bedienen kann.

> Es soll schon so ein Smartphone-Like sein.

Wozu? Für einen 3D-Drucker braucht man so etwas nicht. Da braucht man 
eine klare Menüstruktur.

Ardufreak schrieb:
> Ich rede hier von pro und contras. Das sagen die Datenblätter nicht!

Und ich rede davon, wieviel Leitungen z.B. zur Ansteuerung notwendig 
sind. Parallel, seriell, eigener Controller, eigener Zeichensatz, 
Farbtiefe, eigenes RAM, Geschwindigkeit, ...
Dafür braucht man das Datenblatt.

von Norman (Gast)


Lesenswert?

Ich würde ein 7" nehmen und mit passendem Backend ein Garmin G1000 
nachbauen.

von sid (Gast)


Lesenswert?

Ardufreak schrieb:
> Kennt ihr Nextion ?

m.n. schrieb:
> W.S. schrieb:
>> Was du brauchst, ist Wissen.
>
> Und das bekommt man u.a. durch Lesen des Datenblattes.

Nextion hat nichtmal n Datenblatt...!

die kleineren (<7") haben ein resistiven touchscreen
(also nix mit 'handylike' eher so palm aus'n neunzigern)

Ich hab eins davon (3.5" 'enhanced')
und ja es funktioniert.. aber ehrlicherweise ist deren Software unter 
aller kanone.. (Nextion IDE)
deutlich besser geworden in der neuesten version, aber immernoch echt 
mies.
am schlimmsten ist dass man intern nix einfach mal "rechnen" kann,
sehr limitierte Funktionen um den µC zu entlasten
dafür dass es ein ARM7 mit 108MHz ist mit 8k Ram wirklich enttäuschend.
Nichtmal die onboard SD Karte lässt sich nutzen;
damit kann man nur neue software auf das Display flashen sonst gar nix.

Ja einfachsten Krempel kann man damit machen,
für super banales (ne Uhr zB) braucht's nichteinmal einen µC wirklich.
Aber es bietet deutlich weniger als die reinen Werte einen hoffen lassen 
meiner Meinung nach.

Es war mein erstes und ich vermute stark mein letzes Nextion!
Falls sich nicht einer erbarmt und open source firmware ertellt oder so 
;)

Die TJC Dinger sind übrigens die chinesischen originale (tjc HMI heisst 
die originalsoftware dazu) die Displays bekommt man für schmalere Mark 
bei ebay...
Sprachversion der HMI Software ist allerdings chinesisch und das 
umfrickeln auf englisch ist nicht ganz einfach.

Ich wollte es nicht an meinem 3D Drucker haben..
mein monochromes LCD mit dem Drehknopf ist mir da tausendmal lieber!
(ich drucke aber auch nicht von karte sondern per usb)

von sid (Gast)


Lesenswert?

Achso 2pins (tx,rx) und strom (5v, gnd)..
buttons und GPIO sind per flachband herausgeführt

Also kein Grund sich der Pins am Arduino wegen Sorgen zu machen
Softserial läuft wunderbar (kommunikationsprotokoll ist allerdings Käse)
und die Bibliothek dafür bei github riesig..
man sollte sich also selber was schreiben für den speziellen zweck

Sorry für den Nachtrag.. ShiftEnter hat mich ausgetrickst ;)

von W.S. (Gast)


Lesenswert?

Ardufreak schrieb:
> Also passiv heisst Resistiv ?

Du nervst, weil du ganz offensichtlich nach dem Motto vorgehst "Ich will 
haben und soll funktionieren - aber ohne daß ich darüber nachdenken 
muß".

Erstens:
Bunte Displays so ab 480x272 haben nicht nur viele Pixel, sondern auch 
viele Bits PRO Pixel. Wenn man also ein derartiges Display nicht bloß 
als 80x24 Alpha-Display mit Courier betreiben will, sondern richtige 
Grafik drauf machen will, dann braucht es nen Canvas IM betreibenden 
µC dafür. Folglich sollte der µC auch genug Ressourcen mitbringen. Und 
wenn man das Display nicht mit einem richtigen Display-Anschluß wie z.B. 
beim LPC4088 anschließt, sondern über ein Byte-Interface oder gar ein 
serielles, dann geht die Performance ganz erheblich in die Knie.

Du solltest also wissen, was für ein Controller für ein derartiges 
Display so etwa das Minimum ist. Solange du das nicht weißt, ist Denken 
und Dazulernen angesagt.

Zweitens:
Bei resistiven Touchscreens macht man das Abtasten im µC zumeist selber, 
obwohl es dafür mW auch (noch) Controller gibt. Wie das geht, das lies 
selber nach.
Bei kapazitiven Touchscreens hat man in der Regel einen zugehörigen 
Controller am Touch dran, der dann zumeist per Int und I2C mit dem µC 
verkehrt. Aber da ist dann eben auch noch ein von dir zu schreibender 
Treiber vonnöten. Im Ergebnis hast du dann ein Touch-Ereignis (down, 
move, up nebst Koordinaten) oder mehrere derartige Ereignisse (bei 
Multitouch-Auswertung). Man kann das mit dem Touchcontroller abstimmen.
So - und nun fange etwas an mit einem oder mehreren Touch-Ereignissen.
Was? - das ist dein Bier. Für sowas mußt du dir eben irgend ein 
Menü-System ausdenken, was geeignet auf sowas reagieren kann.

Ist dir jetzt ein wenig klarer, was du da so vollmundig im 
Eröffnungspost geschrieben hast?

W.S.

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.