Datum:
|
Hallo, habe mir mal einen ESP32 besorgt und wollte nun die ersten Schritte damit machen. Doch leider bekomme ich schon beim ersten Schritt Probleme, da mein Display nichts anzeigt. Ich habe mir das hier besorgt: Ebay-Artikel Nr. 252797557284 Als Vorlage wie ich das ganze Anschließen muss habe ich mir dieses PDF geladen: https://erik-bartmann.de/userfiles/downloads/esp32/ESP32TFT.pdf Jetzt bin ich mir nicht sicher, ob ich das Display richtig angeschlossen habe und ob es überhaupt mit dieser Lib läuft. So hab ich die Pins im Sketch definiert:
// For the breakout, you can use any 2 or 3 pins // These pins will also work for the 1.8" TFT shield #define TFT_CS 5 #define TFT_RST 9 #define TFT_DC 10 #define TFT_SCLK 18 #define TFT_MOSI 23 Adafruit_ST7735 tft = Adafruit_ST7735(TFT_CS, TFT_DC, TFT_MOSI, TFT_SCLK, TFT_RST); |
Jedoch sind die Anschlüsse an meinem Display etwas anders und habe es so angeschlossen: Dispaly - ESP32 CS - CS RST - RST A0 - DC SCK - SCLK SDA - MOSI Ich denke das ist wohl nicht richtig. Kann mir da jemand weiterhelfen? Viele Grüße Michael
Datum:
|
MOSI MISO richtig verbunden? Kontrast usw. richtig eingestellt? Tracemeldungen bzw. was sagen die Debugging Informationen? MOSI und SDA klingt aber schon mal sehr komisch... Mach mal Bilder. Ansonsten solltest du dir auf jeden Fall mal einen Logic Analyzer zulegen: https://www.aliexpress.com/item/USB-Logic-SCM-24MHz-8-Channel-24M-seconds-Logic-Analyzer-Debugger-for-ARM-FPGA-Logic-Analyzer/32873970588.html Da gibt es ein paar Varianten, als Software gibt es die vom Original (wenn es dir taugt solltest du dann aber das Original kaufen) oder natürlich Sigrok usw. Gibt hier im Forum einige Threads dazu. Mit dem Logic Analyzer kannst du problemlos mal schnell nachschauen ob die Kommunikation richtig funktioniert. PS: Teste das ganze mal mit einer Anwendung die definitiv funktioniert. Wenn du dir nicht mal sicher bist ob du das Display richtig angeschlossen hast kannst du so zumindest das verifizieren. Gerade für Anfänger ist es unsinnig sich unnötig viele Fehlerquellen ins Haus zu holen.
Datum:
|
hm, möchte auch mal ein display ansteurn, aber die pis verstehe ich nicht im bild sind auf der platine andere als unten in der beschreibung des shops ...CS für die sd karte liegt ganz links bei den 4 pins, wird das andere CS wohl das für das Display sein hier ist ein ZipOrdner von... zur im shop erwähbteb lib, da sind viele beispiele drinn und die oop files :/ wahrscheinlich für die lib https://www.tweaking4all.com/?wpfb_dl=63 hier ist auch die seite haupt homepage des verkäufers, aber dort sind die selben infos https://www.makershop.de/display/lcd-tft/18-zoll-tft-lcd/
:
Bearbeitet durch User
Datum:
|
Hallo, diese Variante? https://eckstein-shop.de/18-inch-128x160-SPI-Serial-TFT-LCD-Display-Modul-SD-Card-Slot-Arduino-Kompatibel?curr=EUR&gclid=EAIaIQobChMI9MbIwZf03wIVaDPTCh3vCwdPEAQYAiABEgIYyPD_BwE wenn ja, ist Deine Zuordnung erstmal richtig. LED-Anschluß beschaltet? Virsicht, meins hat da nur 10 Ohm Vorwiderstand für das Backlight, das ist bei 3,3V für die Beleuchtung schon an der Obergrenze des zulässigen. Ich habe LED über 51 Ohm an 5V gelegt. Es gibt auch keinen Schalttranssitor, man kann die Beleuchtung nicht direkt mit einem IO steuern... Als Lib auf ESP8266/ESP32 nutze ich fast nur die TFT_eSPI https://github.com/Bodmer/TFT_eSPI dort muß man die Pins allerdings in die User_Setup.h im Ordner der Lib eintragen. Mit der Adafruit habe ich nur eins am ESP8266, sollte aber auch am ESP32 laufen. Gruß aus Berlin Michael
:
Bearbeitet durch User
Datum:
|
Ihr habt unterschiedliche Module. Michael U. deins hat 8 PINs und Karls's hat 11 PIN's (ohne die 4 Kontakte auf der einen Seite mit zu rechnen)
:
Bearbeitet durch User
Datum:
|
Hallo, meine Vermutung liegt daran: Michael schrieb: > Jedoch sind die Anschlüsse an meinem Display etwas anders und habe es so > angeschlossen: Sonst muß er eben mal ein Foto seines Display hier reinstellen, Rückseite genügt ja. Es gibt zuviele Versionen von den Dingern, bisher habe ich aber nur 4-line SPI gehabt, also (/CS) SCK , MOSI (SDA), (A0) D/C. SDA ist beim ST7735 prinzipiell auch Datenausgang, read wird aber wegen der dann nötigen Zusatzschaltung für MISO von keinem mir bekannten Arduinotreiber genutzt, MISO ist also nicht angeschlossen. Gruß aus Berlin Michael
Datum:
|
@Karl: Wie kann ich bei so einem Display den Kontrast einstellen? Der Sketch ist ein Beispiel aus der Lib, bei der ich nur die Defines für meine Pins angepasst habe. Über die Serielle Schnittstelle konnte ich feststellen, das der ESP soweit läuft und die Initialisierung abgeschlossen wird. Einen Logic Analizer brauche ich denk ich nicht, hab für sowas ein Oszi. Das hat bisher immer gereicht... @Michael: Hab bei meinem Display den LED Pin über einen 100 Ohm Widerstand direkt an die 3,3V gelegt. Der Hintergrund leuchtet hell. Wäre erstmal die Frage, ob das Display überhaupt mit der Lib anzusteuern ist. Foto ist angehängt, ich hoffe man kann alles nötige erkennen. Vielen Dank erstmal für die Rückmeldungen! Viele Grüße Michael
Datum:
|
Ups, auf dem Bild ist natürlich der Braune Draht für die Spannungsversorgung auf die falsche Seite gerutscht. Hatte den vorher auf der +5 Volt unten links
Datum:
|
Hallo, ok, ist genau die Version, die ich hier auch habe. Ich kann morgen mal das Display nach Deiner Belegung an ein ESP32-Board stöpseln und die Adafruit-Lib drauf los lassen. Ich habe hier im Moment nur eins der 1,8" an einem ESP8266 laufen, auch mit der Adafruit-Lib. Keine Ahnung, warum er oben die Adafuit-Sachen erwähnt und dann plötzlich die Ucglib bei ihm auftaucht, sieht für mich alles etwas chaotisch aus... Gruß aus Berlin Michael
Datum:
|
Also ich hab jetzt nochmal geschaut, ich benutzt den Sketch aus der Adafruit_ST7735_and_ST7789_Library. Da gibt es einen graphicstest. In diesen hab ich nur meine Pins angepasst. Ich gehe also davon aus, das entweder mein Display dafür nicht passt oder ich noch einen Fehler in der Verdrahtung habe. @Michael U.: Wäre klasse wenn du das mal bei dir anschliessen könntest, ob das bei dir läuft. Ich bin im moment noch sehr unsicher in diesen Dingen. Hab noch nicht viel mit Arduino gemacht und auch der ESP32 ist Neuland für mich....
Datum:
|
Hallo, Michael schrieb: > @Michael U.: Wäre klasse wenn du das mal bei dir anschliessen könntest, > ob das bei dir läuft. Ich bin im moment noch sehr unsicher in diesen > Dingen. Hab noch nicht viel mit Arduino gemacht und auch der ESP32 ist > Neuland für mich.... Ein ESP32-Board, das Display und die Verbinderkiste liegt schon bereit. Mach ich irgendwann nachher bestimmt noch was. Gruß aus Berlin Michael
Datum:
|
Hallo, es mag Dich erstmal trösten: ich sehe bis jetzt auch nichts. Ich habe erstmal mit der TFT_eSPI-Lib getestet und seinen Pin-Vorschlägen und seinem Demo. Nichts... Display ab und einen ESP8266 D1 mini ran -> alles ok. Hätte mich auch gewundert, da ich diese Kombi im Einsatz habe. Ich werde also nachher mal ergründen, was da schief läuft. Mein Bekannter hatte die 1,8" ST7735 bisher auch nur am ES8266 und ich habe hier am ESP32 nur Displays mit ILI9xxx Controllern in Benutzung. Gruß aus Berlin Michael
:
Bearbeitet durch User
Datum:
|
Hallo, das ist jetzt ja mal etwas beruhigend. Ich vermute mal, das evtl. da ein Pin schon irgendwie vorbelegt ist. Habe bis jetzt aber nur Erfahrung mit Atmels und da gab es auch Pins die man nicht einfach so verwenden konnte. Ich werde da mal versuchen die Pins zu tauschen und andere zu verwenden. Komme aber vermutlich erst am Montag oder Dienstag dazu.... Vielen Dank erstmal für deine Unterstützung!! Das hat mir schon viel weiter geholfen! Grüße Michael
Datum:
|
Hallo, so, gerade nochmal in Ruhe angesachaut. Michael schrieb: > So hab ich die Pins im Sketch definiert: > // For the breakout, you can use any 2 or 3 pins > // These pins will also work for the 1.8" TFT shield > #define TFT_CS 5 > #define TFT_RST 9 > #define TFT_DC 10 > #define TFT_SCLK 18 > #define TFT_MOSI 23 > Adafruit_ST7735 tft = Adafruit_ST7735(TFT_CS, TFT_DC, TFT_MOSI, > TFT_SCLK, TFT_RST); ändere das mal bitte in #define TFT_CS 5 // CS #define TFT_RST 16 // Reset #define TFT_DC 17 // A0 // #define TFT_MOSI 23 // SDA // #define TFT_MISO 19 // wird nicht angeschlossen // #define TFT_SCLK 18 // SCK Adafruit_ST7735 tft = Adafruit_ST7735(TFT_CS, TFT_DC, TFT_RST); GPIO9 und GPIO10 gehören eigentlich zur Flashansteuerung, die kann man nicht ohne weiteres als normale IO nutzen. Auf einigen ESP32-Boards sind sie garnicht erst rausgeführt oder direkt mit SD2 und SD3 beschriftet. MOSI, MISO und SCLK sind die Standard SPI-Pins der ESP32-Arduino-HAL, die müssen nur definiert werden, wenn man auf andere Pins mappen will, dann gilt auch Dein Adafruit_ST7735(TFT_CS, TFT_DC, TFT_MOSI, TFT_SCLK, TFT_RST). Damit läuft das grafkidemo hier problemlos. IDE 1.8.8, ESP32 v1.0.1 Boardmanager-Version. Gruß aus Berlin Michael
Datum:
|
Vielen vielen Dank Michael! Jetzt läuft es auch bei mir! Nun kann ich damit beginnen und meine ersten Schritte machen.
Datum:
|
Hallo, Michael schrieb: > Vielen vielen Dank Michael! Jetzt läuft es auch bei mir! > Nun kann ich damit beginnen und meine ersten Schritte machen. Danke für die Rückmeldung und noch viel Spaß mit den Überraschungen beim ESP32... Lustig ist: bei mir läuft es auch mit der TFT_eSPI-Lib, bei meinem Bekannten erst nach einer Anpassung in der Lib. Ursache ict jetzt bekannt, er hat schon einen Bugreport geschickt, der Programmieer der TFT_eSPI reagiert da immer sehr schnell, Er hat offenbar kein Display mit ST7735 zum Test, die Ursache ist eine geänderte Timinggeschichte in den SPI-Routinen, die beim ST7755 Exemplarabhängig zum Fehler führt. Lustig ist: mein Display läuft mit der letzten release-Version problemlos, mein Bekannter hat die aktuellste Version drauf und da ist der Fehler drin. Und wenn mein Bekannter jetzt noch rausfindet, warum es bei ihm mit der Adafruit-Lib nicht geht, bei mir (und jetzt ja auch bei Dir) aber doch... Gruß aus Berlin Michael