durch Touch TFT Eingänge ansteuern

Hallo Leute,

Ich komme nicht wirklich weiter.
Ich habe zur Zeit einen Sketch laufen, in dem ich mit 12 Tastern meine Ausgänge anspreche.
Jetzt möchte ich das Ganze mit einem TFT Touch visualisieren. Bloß wie.
Wollte erstmal mit einem 2.8er oder 3.2er anfangen. Größer geht immer.

Belegt sind jetzt min. 12 Eingänge und 18 Ausgänge.

Was brauche ich, um die Taster durch Buttons auf dem TFT anzusteuern?

TFT und Shield? Wenn ja, welche und wie wird das mit dem Mega verbunden. An die Digitalen muß ich ja auch ran.

sirtiger

Welche Bibliothek gehört denn zu diesem Display?

Wenn die keine graphischen Buttons enthält, kannst Du Dir solche selbst stricken. Button Text an einer bestimmten Position auf dem TFT ausgeben, Rahmen drumherum zeichnen, und einen Touch in diesen Bereich erkennen und auswerten.

Hallo,

ich nutze das am Mega, läuft ohne Probleme und ist sau-schnell.

Wenn Du es im schnellen parallelen Modus betreibst, dann braucht es
10 digitale Pin´s und 6 analoge.
Es läßt sich auch über SPI betreiben, dann sparst Du noch einige Pin´s-
das Display ist dann aber langsamer.

Deine 12 Eingänge für die Taster brauchst Du dann nicht mehr, das läuft
ja über das Touch-Display.

Dann "malst" Du Dir die Button´s auf´s Display und sagst dem Mega, was er machen
soll, wenn dieser betätigt wird.

Ich habe das Ding in einer halben Stunde zum laufen bekommen, die Beispiele
und die Lib sind ausgezeichnet dokumentiert.
Wenn Du ein Touch-TFT suchst, das keinen Ärger bereitet, dann nehme das!

So malst Du einen Button:

tft.fillRoundRect(6, 40,  91, 22, 5,YELLOW);
  tft.setCursor(13, 55);
  tft.print("LCD aus");

  tft.fillRoundRect(107, 40, 46, 22, 5,YELLOW);
  tft.setCursor(123, 55);
  tft.print("+");  

  tft.fillRoundRect(163, 40,  46, 22, 5,YELLOW);
  tft.setCursor(179, 55);
  tft.print("-"); 

  tft.setFont();
  tft.setTextColor(WHITE, BLUE);
  tft.setCursor(120,68);
  tft.print("Helligkeit");

So fragst Du ihn ab:

 if ((p.x > 5 && p.x < 98) && (p.y > 39 && p.y < 62)) //LCDHb
  {
    digitalWrite(LcdHb, LOW);
}

Die Geschichte ist ziemlich einfach.
Gruß und Spaß
Andreas

Bild Verdrahtung:
TFT- die grünen sind analog
TFT- die orangen digital

Bild Button:
so sieht es z.B. aus, jede andere Form ist auch möglich

Button.jpg

Schau dir mal die Nextion Displays an, die benötigen nur eine serielle Verbindung und wickeln Touch und Display eigenständig ab.

Hallo,
ich will hier nichts schlecht reden, aber-

Wenn Du ein Nextion am Arduino betreiben willst, dann wird es richtig schwer. Die Dinger sind nicht ohne.
Hilfe hier im Forum geht gegen NULL. Nur blah, blah...blaah!
Die Dinger sind gut dokumentiert, aber Du mußt eine zweite ProgrammierSprache lernen, die nicht so ganz
einfach ist.
Gruß und Spaß
Andreas

Der Arduin-o-Phone Sketch zeigt, wie es geht.

EDIT: Das bezieht sich auf das Adafruit-TFT. Von diesem Beispiel ausgehend habe ich meinen eigenen Sketch entwickelt. Mit Nextion habe ich bislang nichts gemacht.

Hallo,
das ist unbestritten. Das läuft! Es sind aber eben diese Sketche, die einen Unbedarften in die böse Falle locken.
Gruß und Spaß
Andreas

Hallo,

und Danke für die schnellen Antworten.
Display habe ich noch keins, weil es ja so viele verschiedene gibt.
Das Nextion habe ich mir mal angeschaut. Sieht eigentlich ganz einfach mit dem GUI-Builder aus.
Es sollen bloß ein paar Buttons drauf und ein wenig Textausgabe.
Deshalb meine Frage, welches sich am Besten ohne großen Aufwand eignet.

Welches benutzt Du SkobyMobil? Geht aus Deinem Beitrag nicht hervor.
Welche zweite Sprache musste ich beim Nextion lernen?

Sirtiger

Ich habe RA8875 Displays.. ist ein Sorglos Controller mit 2 Layern und diversen Grafikfunktionen integriert.. bedeutet schneller zeichnen.

Man kann mit nem bisschen Tricksen sogar ein SPI-Flash Memory vorbereiten, bzw mit Bildern vorbefüllen und diese mit DMA Ultraschnell auf den Bildschirm bringen..

Allerdings nicht ohne, es gibt immerhin 2 gute Librarys die ich dann für mich gemischt und umgemodelt habe.

Hier mal mein Beispiel.. also das geht nicht einfach so eben aber das ist wohl das Maximum mit einem Atmega, Touchcontroller ist integriert und meldet gefüllte Touch-Register über einen Interrupt Pin, bzw unterstützt das Teil integriert sogar eine Tastaturmatrix wenn ich mich nicht irre.

Dafür benutze ich Displays von Buydisplay.com .

EDIT: Die Hersteller Demo: RA8875 800x480 Demo - YouTube

sirtiger:
Welches benutzt Du SkobyMobil? Geht aus Deinem Beitrag nicht hervor.

Siehe #2:

SkobyMobil:
ich nutze das am Mega, läuft ohne Probleme und ist sau-schnell.

Ich habe das am Mega laufen, kann ich aber nur in Ausnahmefällen empfehlen.
Arduin-o-Phone.png


Schuppeste:
Ich habe RA8875 Displays..

Beim Anbieter gibt es ja recht unterschiedliche, könntest Du bitte Dein Display verlinken?

Da hab ich auch welche von. was ist bei dir für ein Chip drauf und welche Lib nimmst du?

ElEspanol:
Da hab ich auch welche von. was ist bei dir für ein Chip drauf und welche Lib nimmst du?

Meinst Du mich?

#include <Adafruit_GFX.h>    // Core graphics library
#include <Adafruit_TFTLCD.h> // Hardware-specific library
#include <TouchScreen.h>
#include <SD.h>  // Nur fuer SD-Karte
#include <SPI.h>  // Nur fuer SD-Karte

Die Bibliothek habe ich hinsichtlich Invertierung angepaßt. Eine Rückmeldung für den Chip gibt es nicht, ich verwende ILI9341. Bei Bedarf gerne mehr.

Ja, dich meinte ich. Weil ich hab 2 mit 9335 verbaut, die Lib ist Mist, und Touch geht nicht. Die was ich noch daliegen habe, sollen ein 9341 haben. Was muss ich da anpassen in welcher Lib?

Hallo,

ich habe den Link gar nicht gesehen.
Jetzt stellt sich mir immer noch die Frage welches!
Nextion, Adafruit, RA8875, SaintSmart etc.

Hätte mir jetzt erstmal ein günstiges zum Testen besorgt

http://m.ebay.de/itm/Arduino-mega2560-2-8-TFT-LCD-Shield-SD-Socket-with-Touch-Panel-Module-/381552595526?hash=item58d64e9246%3Ag%3ACNwAAOSwFNZWy84h&_trkparms=pageci%253A961511dc-7754-11e6-8bf9-74dbd1809d83%257Cparentrq%253A142278dc1570a78574233e61ffff56d7%257Ciid%253A2

ElEspanol:
Ja, dich meinte ich. Weil ich hab 2 mit 9335 verbaut, die Lib ist Mist, und Touch geht nicht. Die was ich noch daliegen habe, sollen ein 9341 haben. Was muss ich da anpassen in welcher Lib?

Umleitung zu meinem aktualisierten Thema 2.4" TFT-Shield zeigt invertierte Farben.


sirtiger:
Hätte mir jetzt erstmal ein günstiges zum Testen besorgt

Aus meiner Sicht ein vollkommen falscher Ansatz!

Stelle Dir mal vor, Du hast es in einem Monat ausgepackt, dann fragst Du Dich:

  • Welche Bibliothek kann ich verwenden?
  • Welcher Controller ist eingebaut?
  • Wie kann ich Touch auswerten?
  • Wie wird die SD-Karte angesprochen?

Wenn Du alle diese Fragen beantworten kannst, ist es ein guter Kauf.

Mir fehlen diese Informationen, weshalb ich es nicht kaufen würde.

Adafruit liefert zu den TFTs auch Bibliotheken und Anleitungen, weshalb ich ein bei exp gekauftes problemlos zum Laufen gebracht habe.

Beim Anbieter gibt es ja recht unterschiedliche, könntest Du bitte Dein Display verlinken?

Ich habe dieses:

Das muss allerdings teurer geworden sein, ich habe mit einigen Extras gerademal 24€ bezahlt.