Hilfe beim Anschluß von 3,2" TFT an Display Shield gesucht

Guten Abend zusammen,

ich stehe gerade vor dem Problem ein 3,2" TFT Display anzuschließen. Es handelt sich um jeweils China Display sowie Shield. Die Pinbelegung von Shield sowie Display habe ich mal in einem Screen festgehalten.

Da mir laut Shielddatenblatt (Pins passen überhaupt nicht überein) wohl nichts anderes übrigbleibt, als vom Shield mit Wires auf das Display zu gehen bräuchte ich mal Eure Hilfe.

Verwendet wird ATMega. Ich hoffe ihr könnt mir bei der richtigen Verdrahtung helfen. Schaut euch bitte den Screen an. Dort habe ich, soweit mir verständlich, schonmal alles eingetragen.

Besten Dank im voraus.

Gruß
Markus

Besser ist es, wenn du ein TFT mit dazugehörigem Shield kaufst, das passt 100% zusammen.

Ich sehe kein Bild.
Das solltest du hier immer direkt im Forum posten und nicht auf fremden Seiten.

Und was für einen Arduino verwendest du ?

Ich hoffe nun ist ein Bild zu sehen. Ich verwende einen Mega. Ansonsten ist es über den Link "Screenshot by Lightshot" zu sehen. Da dies erstmal nur zum testen dienen soll, sollte es billig sein. Ziel ist später ein 7" Display anzubinden. Dann aber mit hoffentlich passendem Shield.

(upload://tQW3Xrx4CfzvSVTiai3ZVhZnmQn.png)](http://www.directupload.net)]

Das ist erst mal eine “Fleißarbeit”, da muss ich hier am Tablet passen.

Und solltest du dir ein größeres Display aussuchen, dann nimm auch ein Nextion in die engere Wahl.
Einfach zu programmieren und schnell, da mit eigenem Controller.
Und nur 2 Leitungen, da mit serieller Schnittstelle.

Edit:
Ich vermute, die Pinbelegung ist auch abhängig von den Einstellungen in der Library.
Evtl. solltest du auch noch Links des Displays und des Shields posten.
Aber verwende bitte Hyperlinks, die sind in mobilen Geräten besser zu verwenden.

Bei dem Shield handelt es sich nach Vergleich der Datenblätter um ein Shield, identisch zu dem von Elec Freak. Daraus habe ich die Pinbelegung auf dem 40 pol Stecker für das Display abgeleitet. Ist die erste Grafik. Zum Display habe ich leider nur diese Belegung gefunden.

Es werden noch D0- D6 seitlich beim Mega angezapft, sowie eben die Spannungsversorgung gegenüberliegend.

Die Datenleitungen sollten klar sein, der Rest erschließt sich mir momentan jedoch leider nicht. Insbesondere BL, was ich als Backlight interpretieren würde, kann ich keinem Pin zuordnen.

Sorry für die dummen Fragen, aber ist mein erstes Display. Nach meinen Infos sollte es über Ili-16 von der Lib by Henning Karlson betrieben werden können. Habe dies auch mit direktem aufstecken versucht, Mut zur Lücke, allerdings flackert das Display passend zum Programmablauf nur hell auf.

Deswegen mein Hilferuf.

Wo ist hier eine Grafik?

Gruß Tommy

Hi Tommy,

bei mir erscheint mittlerweile eine Grafik wenn ich mir den Thread anschaue. Ansonsten versuch bitte den Link über prnt.sc, den ich eingefügt habe. An dieser Stelle nochmals herzlichen Dank für Deine Hilfe. Hab die Weichensteuerung fertig. Dies soll eine Ergänzung werden :wink:

Hallo,
hast Du ein Link zu dem Display und dem Shield (was ist es denn?)
Wenn Display und Shield die gleichen Pin´s nutzen, und Du diese in den Lib´s nicht verlegen kannst,
dann ist die Sache fast aussichtslos- zumal Du wohl die "Lib by Henning Karlson" nutzt- die ist nicht "ohne"
Gruß und Spaß
Andreas

Guten Abend,

ich habe nochmal ein bisschen gesucht und denke bin fündig geworden.

Dies ist das Shield:
TFT LCD Mega Shield V2.2

und hier das Touch Display:
3.2" LCD Module

dementsprechend sollte es dann so aussehen:

Belegung Shield sowie TFT

Nun brauche ich nur erstmal ein neues Display, da meines Indianer gespielt hat.

Eine Frage noch, MISO und MOSI, ist das gleichbedeutend mit D_DIN und D_OUT?

Gruß
Markus

Mit Deinen Bildern hast Du irgendwie kein Glück.
Du kannst sie auch direkt hier einbinden:

  1. Als Attachment hochladen
  2. Den Link des Attachments als Bildlink im Image-Tag verwenden.

Näheres gibt es hier.

Gruß Tommy

Ich hab es nun verlinkt, sollte nun funktionieren.

Ich berichte morgen, wenn ich ein neues billig Display hier habe. Das alte hau ich meinem Dealer um die Ohren :wink:

Besteht eigentlich eine Chance, sowas

Sharp LCD Display

ohne riesen Aufwand zu gebrauchen oder ist das eher Sondermüll?

Danke und Gruß
Markus

Das mag für den Moment stimmen, ist aber nicht gut für die Konsistenz des Forums.
Diese Uploaddienste löschen die Bilder im Laufe der Zeit und dann geht hier die Information verloren.
Stelle bitte das Bild nochmal direkt im Forum ein.

Über die 5 Tracker und 18 Ads könnte man extra noch diskutieren.

Gruß Tommy

Hallo zusammen

Probiere es auf dieser Seite

http://www.rinkydinkelectronics.com

hat mir sehr geholfen

Gruß Martin

Ja, ich beziehe mich indirekt auf diese Seite, da ich die Library von ihm nutzen möchte. Deswegen ist ja auch das Pinout mit entscheidend. Ich denke es sollte so passen, wenn ich alles richtig vom Shield zum TFT verdrahte wie in meiner Tabelle zusammengefaßt. Morgen gehts weiter, wenn ich ein neues Display habe.

Bis dahin versuche ich auch ein Pinout zu dem georderten 7" Display zu erstellen.

Scheint nämlich auch leicht abzuweichen von dem Shield, obwohl zusammen geordert.

Irgendwie gab es Komplikationen mit dem ILI9341 Treiber... hatte mal kurz dieses Display am Laufen und bin auf dieses Problem gestoßen. Lösung war die gemoddete Lib aus #11 auf dieser Seite

Hallo zusammen,

ich kann zumindest einen Teilerfolg vermelden. Das Display arbeitet nach der Verdrahtung und mit der UTFT Library. Touch konnte ich noch nicht testen.

Danke bis dahin.

Gruß
Markus

Guten Abend zusammen,

ich habe dieses Display nun vollkommen incl. Touch zum laufen gebracht.

Folgenden Sketch habe ich zum testen verwendet. Bekommt keinen Augenkrebs bei der Farbauswahl :wink:

#include <UTFT.h>
#include <URTouch.h>

extern uint8_t SmallFont[];
extern uint8_t BigFont[];

UTFT myGLCD(ILI9341_16,38,39,40,41);
URTouch myTouch(6,5,4,3,2);

  int x,y;
  int buf[318];

  void setup()
{
  Serial.begin(19200);
  randomSeed(analogRead(0));
  
// Setup the LCD
  myGLCD.InitLCD();
  myGLCD.clrScr();
  myTouch.InitTouch();
  myTouch.setPrecision(PREC_MEDIUM);
  HomeScreen();
}

void loop() 
{

      int x,y;
      int buf[318];
      if (myTouch.dataAvailable())
      {
      myTouch.read();
      x=myTouch.getX();
      y=myTouch.getY();
      Serial.print(x);
      Serial.print("//");
      Serial.print(y);
      Serial.println("");
      }
       
      if ((x>=35) && (x<=285) && (y>=90) && (y<=130)) 
      { Button1();
      }
      
      if ((x>=35) && (x<=285) && (y>=140) && (y<=180))
      {
        Button2(); 
      }

      if ((x>=33) && (x<=41) && (y>=206) && (y<=214))
      {
        Button3(); 
      }
 }

//Eigene Funktionen
void HomeScreen() 
{
// Kopfzeile
    myGLCD.setBackColor(0,0,0);
    myGLCD.setColor(255,255,255);
    myGLCD.setFont(BigFont);
    myGLCD.print("3,2' TFT Test", CENTER,10); //Textausgabe
    myGLCD.setColor(255,0,0);
    myGLCD.drawLine(0,32,319,32);
    myGLCD.setColor(255,255,255);
    myGLCD.setFont(SmallFont);
    myGLCD.print("nur eine Testausgabe",CENTER,41);  //Textausgabe
    myGLCD.setFont(SmallFont);
    myGLCD.print("Bitte Auswahl", CENTER, 64);  //Textausgabe

// Button 1
    myGLCD.setColor(16,167,103);
    myGLCD.fillRoundRect(35,90,285,130);
    myGLCD.setColor(255,255,255);
    myGLCD.drawRoundRect(35,90,285,130);
    myGLCD.setFont(BigFont);
    myGLCD.setBackColor(16,167,103);
    myGLCD.print("Button 1",CENTER,102);  //Textausgabe

// Button 2
    myGLCD.setColor(16,167,103);
    myGLCD.fillRoundRect(35,140,285,180);
    myGLCD.setColor(255,255,255);
    myGLCD.drawRoundRect(35,140,285,180);
    myGLCD.setFont(BigFont);
    myGLCD.setBackColor(16,167,103);
    myGLCD.print("Button 2",CENTER, 152);  //Textausgabe

// Button 3
    myGLCD.setColor(16,167,103);
    myGLCD.fillCircle(37,210,8);
    myGLCD.setColor(255,255,255);
    myGLCD.drawCircle(37,210,8);
    myGLCD.setFont(SmallFont);
    myGLCD.setBackColor(16,167,103);
    myGLCD.print("Button 3",CENTER, 203);  //Textausgabe
}


// Unterfunktionen definieren
    void Button1()
{
    myGLCD.clrScr();
    myGLCD.setColor(16,167,103);
    myGLCD.fillRoundRect(35,90,285,130);
    myGLCD.setColor(255,255,255);
    myGLCD.drawRoundRect(35,90,285,130);
    myGLCD.setFont(SmallFont);
    myGLCD.setBackColor(265,165,0);
    
    delay(5000);
    myGLCD.clrScr();
    HomeScreen();
}

    void Button2()  {
    myGLCD.clrScr();
    myGLCD.setColor(255,255,0);
    myGLCD.fillRoundRect(35,140,285,180);
    myGLCD.setColor(255,255,255);
    myGLCD.drawRoundRect(35,140,285,180);
    myGLCD.setFont(SmallFont);
    myGLCD.setBackColor(255,255,0);
    myGLCD.print("Funktion Button 2",CENTER,152);  //Textausgabe
    delay(2000);
    HomeScreen();

}    

    void Button3()  {
    myGLCD.clrScr();
    myGLCD.setFont(BigFont);
    myGLCD.setBackColor(255,125,0);
    myGLCD.setFont(BigFont);
    myGLCD.print("Ziel erreicht",CENTER,152);  //Textausgabe
    delay(2000);
    HomeScreen();
}

Ich hoffe es kann (auch wenn ich Anfänger bin) dem ein oder andere, helfen.

Gruß
Markus