2,8" TFT Hardware SPI Problem

Hallo zusammen ..

Ich habe mir folgendes TFT Modul in der Bucht gekauft und bekomme einfach den Hardware SPI nicht zum laufen.

Software SPI funktioniert. Meines wissens habe ich die richtigen Pins für HW SPI.

Hier mal ein Auszug aus der Adafruit_ILI9341.h bzw. ein Demo .. ( graphictest )

#include "SPI.h"
#include "Adafruit_GFX.h"
#include "Adafruit_ILI9341.h"

// For the Adafruit shield, these are the default.
#define TFT_DC 9
#define TFT_CS 10
#define TFT_MOSI 11
#define TFT_CLK 13
#define TFT_RST 8
#define TFT_MISO 12

// Use hardware SPI (on Uno, #13, #12, #11) and the above for CS/DC
// Adafruit_ILI9341 tft = Adafruit_ILI9341(TFT_CS, TFT_DC);
// If using the breakout, change pins as desired

Adafruit_ILI9341 tft = Adafruit_ILI9341(TFT_CS, TFT_DC, TFT_MOSI, TFT_CLK, TFT_RST, TFT_MISO);


 [CUT .....]  

>>> Diese Version Funktioniert dann 100%

Ändere ich wie folgt auf HW SPI ...

#include "SPI.h"
#include "Adafruit_GFX.h"
#include "Adafruit_ILI9341.h"

// For the Adafruit shield, these are the default.
#define TFT_DC 9
#define TFT_CS 10
#define TFT_MOSI 11
#define TFT_CLK 13
#define TFT_RST 8
#define TFT_MISO 12

// Use hardware SPI (on Uno, #13, #12, #11) and the above for CS/DC

Adafruit_ILI9341 tft = Adafruit_ILI9341(TFT_CS, TFT_DC);

// If using the breakout, change pins as desired
// Adafruit_ILI9341 tft = Adafruit_ILI9341(TFT_CS, TFT_DC, TFT_MOSI, TFT_CLK, TFT_RST, TFT_MISO);

 [CUT .....] 

>>> Bei dieser Version tut sich nichts!

Den Versuch hab ich vergebens am Arduino Nano und Uno unternommen .. Leider ohne Erfolg. Hat da jemand evtl. eine Idee ?

Gruß Wolf

Hardware SPI nutzt 11, 12, 13 und CS hier an 10 und DC an 9. Damit hängt RST "in der Luft". Lege mal RST auf HIGH. Zumindest mein Display wollte mir danach was anzeigen.

Ich habe dann RST mit RESET vom Arduino verbunden, spart einen IO-Pin.

agmue:
Hardware SPI nutzt 11, 12, 13 und CS hier an 10 und DC an 9. Damit hängt RST "in der Luft". Lege mal RST auf HIGH. Zumindest mein Display wollte mir danach was anzeigen.

Ich habe dann RST mit RESET vom Arduino verbunden, spart einen IO-Pin.

Danke agmue für die Antwort. Hab das mit dem Reset mal versucht. Leider ohne Erfolg :frowning:
Könntest Du mir evtl. deine Verkablung mal Skizzieren. 11, 12, 13, 9, 10 sind definitiv richtig angeschlossen. Kann also eigentlich nur an Widerständen oder so scheitern. Hab glaub gelesen irgendwo das dieses Display nicht mit 5 Volt klar kommt.

Gruß Wolf

EDIT: Hat sich erledigt .. Hab noch eine Handvoll Widerstände mehr gebraucht :slight_smile:

DL2MWB:
EDIT: Hat sich erledigt .. Hab noch eine Handvoll Widerstände mehr gebraucht :slight_smile:

Gratulation!

Wäre natürlich schön, wenn Du das hier dokumentieren würdest.

Ich habe ein ganz anderes Display (3€), das 5V tolerant ist. Nur ein unbelegter RST hat mich eine Weile beschäftigt, da habe ich eine Analogie hergestellt :slight_smile:

Wäre natürlich schön, wenn Du das hier dokumentieren würdest.

Klar, kommt nacher mit einer Skizze ..

Gruß Wolf

So, hier noch das zugesagte Anschlussbild.
Miso und Touch werden im Moment nicht benötigt. Falls Miso benötigt wird MUSS dieser bei HW SPI an Pin 12 des Aruino UNO/NANO/MINI.

CS, Reset und D/C bleiben frei wählbar. Hier an Pin 5, 6 und 8.

Gruß Wolf

Erstmal danke für Deine Mühe! Ich verleihe Dir hiermit feierlich Dein erstes Karmapünktchen :slight_smile:

Ich bin etwas irritiert, da die Spannungsteiler im Gegensatz zum Text im Angebot "5V kompatibel, verwenden Sie mit 3,3V oder 5V-Logik" stehen. Wie bist Du darauf gekommen, daß Du die Widerstände benötigst? Schließt Du 5V oder 3,3V an VCC an?

Hallo agmue und Danke für die netten Worte.

Also ich betreibe das Display an 5 Volt. Habe zuvor auch 3.3Volt ohne Erfolg versucht. Drauf gekommen das zu testen war ein Artikel im Netz der über das kleinere Model des gleichen Herstellers ging. Glaube das 2.2" war es. Leider findet man ja nirgends ein Datenblatt dazu. Zumindest ich bin nicht fündig geworden.

Das 5V kompatibel bezieht sich wohl auf die Betriebsspannung .. :slight_smile:

Betreibt man das Teil mit Software SPI reichen die 4K7 Widerstände am Eingang. HW SPI geht ohne die 10K gegen Masse nicht.

Gruß Wolf

PS: Software SPI mit dem Teil ist allerdings nicht zu empfehlen. Viel zu langsam. Ein Clearscreen dauert ewig.

Mit Widerständen das aufzubauen ist ok, aber einfacher geht es mit einem HEF4050 als Levelshifter.
Ist enfacher zu verdrahten.

HotSystems:
Mit Widerständen das aufzubauen ist ok, aber einfacher geht es mit einem HEF4050 als Levelshifter.
Ist enfacher zu verdrahten.

Ja, hab ich schon gesehen. Leider war aber keiner zur Hand :slight_smile:

Gruß Wolf

DL2MWB:
Ja, hab ich schon gesehen. Leider war aber keiner zur Hand :slight_smile:

Gruß Wolf

Ok, verstehe ich.
Auf dem Steckbrett habe ich auch Widerstände genommen, gelötet habe ich dann das IC.
Habe auch gleich mehr bestellt, man weiß ja nie. :wink:

Kommt das IC dann ohne Externe Beschalltung aus ?

Wolf

DL2MWB:
Kommt das IC dann ohne Externe Beschalltung aus ?

Wolf

Ja, der Eingang liegt da am Arduino-Pin,
VCC an 3,3 Volt und Ausgang jeweils am Display.
Google mal, gibt viele Schaltungsbeispiele.

Ok Danke, werde ich machen.

Wolf

DL2MWB:
Also ich betreibe das Display an 5 Volt. Habe zuvor auch 3.3Volt ohne Erfolg versucht.

Wenn Du VCC mit 3,3V verbindest, mußt Du den Spannungsregler mittels Lötbrücke auf J1 wirkungslos machen. Ohne Gewähr!

agmue da hab ich schon drüber nachgedacht, aber es ändert ja nichts das an der Logic trotzdem 5 Volt kommen.

Wolf

Das hatte ich für den Fall geschrieben, Du wolltest Dir ein zweites Display kaufen und es an einen 3,3V Arduino hängen. Oder so :slight_smile: