Arduino Mega 2560 und Adafruit TFT Touchscreen 2,8'' Resistive

Hallo zusammen,

mein Name ist Michael, ich arbeite eigentlich in der Energietechnik und der Arduino ist nur ein Hobby. Ich habe schon Einiges damit gemacht, scheitere aber aktuell an der o. g. Kombination.

Zielsetzung ist denkbar einfach, ich möchte den Beispielcode "graphicstest" aus der ILI9341 zum Laufen bekommen, leider ist jedoch nur ein weißer Bildschirm zu sehen, die IDE läuft sauber, das Flashen von anderen Programmen ist problemlos möglich.

Mir stellen sich mehrere Fragen:

  1. Zum Datenblatt:
    Datenblatt Display
  • Warum kann ich den Shield nicht einfach aufstecken und los gehts? ICSP ist dann doch verbunden....
  • Auf Seite 7: "Digital #12 or ICSP MISO - This is the hardware SPI Microcontroller In Serial Out pin. By default its on digital #12.By cutting a jumper and soldering another on the back, you can move this line from digital to the ICSP 2x3header. This pin is used for the TFT, microSD and resistive touch screen data" Was ist hiermit gemeint? Ich habe keine ICSP/SPI Erfahrung. Auf Seite 15 heißt es "...for Mega the ICSP Jumpers get closed...". Was ist damit gemeint?
  1. Zum Display
    Welche Verbindungen sind minimal erforderlich, dass das Display läuft?
    Ich bitte um Korrektur, falls ich falsch liege:
  • Chip und Data Select (Digital 9 und 10)

  • 6x ICSP (wie ist die Ausrichtung vom ICSP? Passt die zu der Ausrichtung vom Board oder muss das 180 Grad verdreht werden?)

  • 5V (Warum? Liegt doch auf dem ICSP? Ohne geht das Display aber garnicht erst an...)

Fehlt dann noch was?

Ich habe jetzt bestimmt 10 Stunden rumprobiert und komme mir so langsam richtig dämlich vor.

Vielen Dank für jeden Hinweis, ich bin sicher, dass ich gut klarkomme, wenn ich das Teil einmal am Laufen habe.

Schönen Abend euch allen!

Code auf Github

Anbei der Code auf Github. Wie bindet ihr längeren Code in eure Posts ein? Ich bekomme die Fehlermeldung, dass die Maximalanzahl von 9000 Zeichen überschritten ist.

Man kann Dateiien anhängen.
Grüße Uwe

Dein Link zum Datenblatt funktioniert nicht.
Und den Sketch dann als txt-Datei anhängen, dann können den auch alle lesen.

Hier mal ein reparierter Link zum Datenblatt.

Danke uxomm, warum kann der TO das nicht ?

@TO
Ok, ich rate jetzt mal.
Das Display ist für den Uno gedacht und am Mega liegen die Pins dann doch anders.
Einfach mal das Datenblatt lesen, da ist beschrieben wie die einzelnen Leitungen verkabelt werden sollten.
Beim Mega ist das halt anders, oder ?

michael461:

  • Warum kann ich den Shield nicht einfach aufstecken und los gehts? ICSP ist dann doch verbunden....

Mechanisch sind die Kontakte verbunden, aber erst durch Trennen der Brücken "13 12 11" und Verbinden von "ICSP" sind sie auch elektrisch verbunden. Für den Mega2560 mußt Du das noch tun. Siehe auf PDF-Seite 3 "Page 4" das Foto der Rückseite.

ICSP wird eigentlich verwendet, um den Prozessor zu programmieren, wenn kein Bootloader drauf ist. Hier werden sie "mißbräuchlich" für SPI genutzt.

michael461:

  • 5V (Warum? Liegt doch auf dem ICSP? Ohne geht das Display aber garnicht erst an...)

Wenn ich das Shield-Schaltbild richtig verstehe, ist 5V an ICSP nicht angeschlossen.

Ich hoffe, Du kommst mit diesen Infos erstmal weiter :slight_smile:

agmue:
Mechanisch sind die Kontakte verbunden, aber erst durch Trennen der Brücken "13 12 11" und Verbinden von "ICSP" sind sie auch elektrisch verbunden. Für den Mega2560 mußt Du das noch tun. Siehe auf PDF-Seite 3 "Page 4" das Foto der Rückseite.

ICSP wird eigentlich verwendet, um den Prozessor zu programmieren, wenn kein Bootloader drauf ist. Hier werden sie "mißbräuchlich" für SPI genutzt.
Wenn ich das Shield-Schaltbild richtig verstehe, ist 5V an ICSP nicht angeschlossen.

Ich hoffe, Du kommst mit diesen Infos erstmal weiter :slight_smile:

Besten Dank, Problem gelöst:

Siehe auf PDF-Seite 3 "Page 4" das Foto der Rückseite. Das war der entscheidende Hinweis. Es ist erforderlich, auf dem Shield die Verbindung bei 11 12 und 13 durchzuschneiden. Bei ICSP ist es erforderlich, drei Lötpunkte zu setzen, um zwischen den Kontakten oben und unten zu brücken. Sorry, keine Ahnung, warum ich das nicht kapiert habe :smiley:

Ich habe den Hinweis im Datenblatt zwar zur Kenntnis genommen, aber nicht verstanden. Gedanklich war ich bei den drei digitalen Pins 11 12 und 13 am Arduino, die ja die Alternative zur Kommunikation über ICSP darstellen, wenn man statt eines UNO einen Mega nutzt.

Deshalb kam ich auch nicht dahinter, mein Gedanke war, dass es völlig egal ist, ob die drei digitalen Pins nun (Shield-Arduino) verbunden sind oder nicht, solange diese auch nicht angesteuert werden. Und das werden sie im Code nicht.

michael461:
Besten Dank, Problem gelöst:

Für sowas ist dieses Forum ja gedacht!

Danke für Deine Rückmeldung :slight_smile: