Hallo, ich habe hier ein TFT SPI Display (240x240) welches ich gerne mit
meinem Shield verbinden möchte.
Die Display Eingänge sind allerdings anders beschriftet als ich es
kenne, und zwar folgender Maßen:
GND und VCC, SCL, SDA, RES, DC, BLK.
In der C Header Datei für das Programm habe ich allerdings folgende Pin
Bezeichnungen:
DIN, CLK, CS, DC, RESET, BL.
Welchen Pin muss ich jetzt mit CS und DIN verbinden?
Meme schrieb:> Hallo, ich habe hier ein TFT SPI Display (240x240) welches ich gerne mit> meinem Shield verbinden möchte.
Welches Display, welches Shield?
(man kann Links angeben oder Fotos machen)
Ein Display mit einem Shield zu verbinden sehe ich jetzt
nicht als sehr sinnvoll an .....
Meme schrieb:> SCL, SDA
Das ist nicht SPI sondern I²C.
> CS und DIN
Die Pins von SPI heißen SCK, MISO, MOSI und /SS oder /CS.
Du wirst wohl die Hersteller-Informationen vom Display und deiner
Bibliothek konsultieren müssen. Vielleicht ergibt sich aus deren
Beschreibung, wie das zusammen passen könnte.
Stefan ⛄ F. schrieb:> Das ist nicht SPI sondern I²C.
Die Signalnamen schon, aber das Display nicht unbedingt ...
Ich habe noch kein TFT Display Modul mit I2C Schnittstelle
gesehen. Insbesondere passt das nicht wenn die typischen
Signalnamen RES, DC vorkommen. BLK muss man noch klären.
maybe schrieb:> SCL=CLK, SDA=DIN, RES=RESET, DC=DC, BLK=BL, CS nc
So hatte ich es auch probiert, was nicht geklappt hat. Evtl. dir Pins
schlecht verlötet.
oh weh schrieb:> Meme schrieb:>>> Hallo, ich habe hier ein TFT SPI Display (240x240) welches ich gerne mit>> meinem Shield verbinden möchte.>> Welches Display, welches Shield?> (man kann Links angeben oder Fotos machen)> Ein Display mit einem Shield zu verbinden sehe ich jetzt> nicht als sehr sinnvoll an .....
Ich meine die Platine um den Display. Dachte das nennt man so. Und es
handelt sich hierbei um SPI sonst würde auf der Rückseite denke ich mal
nicht SPI drauf stehen. Trotzdem danke :)
Meme schrieb:> Und es handelt sich hierbei um SPI
Nein, in diesem Fall lügt der Verkäufer bzw der Hersteller.
Hier
https://simple-circuit.com/arduino-st7789-ips-tft-display-example/
ist sehr genau beschrieben wie es funktioniert. Es ist ein
I2C-Interface.
Vielleicht wirst du nicht mit der Library glücklich werden die
du beabsichtigt hast zu verwenden.
Achtung Vcc des Display an 3.3V des Arduino anschliessen, sonst
kaputt.
oh weh schrieb:> Nein, in diesem Fall lügt der Verkäufer bzw der Hersteller.
Ich muss mir selbst widersrechen, es ist SPI, leider ein sehr
seltsames, sodass ich immer noch daran zweifeln muss ...
In der Library wird CS erwähnt, was jedoch nicht zur Verfügung
steht. Dafür spräche auch dann I2C, denn nur damit könnte man
eine Start Condition erzeugen die ja wegen fehlendem CS nicht
möglich ist.
Man kann versuchen und hoffen dass es trotzdem funktioniert
indem man den CS Pin mit -1 angibt.
oh weh schrieb:> Achtung Vcc des Display an 3.3V des Arduino anschliessen, sonst> kaputt.
Es handelt sich hierbei um den Raspberry Pi Pico. Das hätte ich
vielleicht erwähnen sollen :D
Harry L. schrieb:> Wie wärs denn damit, einfach mal ins Datenblatt zu schauen?
Das würde ich gerne vermeiden, sonst hätte ich gleich meine eigene Lib
schreiben können :D
Also es scheint so dass ich die Pins nicht richtig verlötet hatte.
Nun, jetzt leuchtet zumindest das Display, allerdings wird die Himbeere
wie es im Code beschrieben wird nicht dargestellt.
oh weh schrieb:> Man kann versuchen und hoffen dass es trotzdem funktioniert> indem man den CS Pin mit -1 angibt.
Meinst du GND?
Meme schrieb:> oh weh schrieb:>> Man kann versuchen und hoffen dass es trotzdem funktioniert>> indem man den CS Pin mit -1 angibt.>> Meinst du GND?
So wie es aussieht hat das Display CS schon intern an GND angeschlossen.
Als CS Pin gib irgendein Pin an und lasse ihn in der Luft hängen.
oh weh schrieb:> Man kann versuchen und hoffen dass es trotzdem funktioniert> indem man den CS Pin mit -1 angibt.
Nein, das Display wird bestimmt nicht mit trinärer Logik angesteuert.
Harry L. schrieb:> Wie wärs denn damit, einfach mal ins Datenblatt zu schauen?> Nein!...das Display kann kein I²C!
Der data/command Pin würde bei I²C auch ziemlich unlogisch sein.
Es ist aber schon fies, dass im Datenblatt von SDA und SCL die Rede ist.
Als ob die einen absichtlich verwirren wollten.
my2ct schrieb:> Nein, das Display wird bestimmt nicht mit trinärer Logik angesteuert.
Auf den billigen cent-Plätzen ist das Prinzip der Pin-Vergabe
bei Arduino-Klassen noch nicht durchgedrungen.
my2dollars schrieb:> Auf den billigen cent-Plätzen ist das Prinzip der Pin-Vergabe> bei Arduino-Klassen noch nicht durchgedrungen.
Um hier Verwirrung zu vermeiden benutze ich sprechende Konstanten wie
"NO_CS_PIN".
Meme schrieb:> Ebay-Artikel Nr. 264336303075
Wie kommt man bloß darauf, irgendwas zu kaufen, wo keinerlei technische
Angaben dabei sind?
Meme schrieb:> Harry L. schrieb:>> Wie wärs denn damit, einfach mal ins Datenblatt zu schauen?> Das würde ich gerne vermeiden, sonst hätte ich gleich meine eigene Lib> schreiben können :D
Na dann noch viel Spaß damit.
Wenn die zufällig ausgesuchten Legosteinchen nicht zusammen passen, dann
einfach mit dem Hammer drauf hauen, bis es paßt.
my2dollars schrieb:> Auf den billigen cent-Plätzen ist das Prinzip der Pin-Vergabe> bei Arduino-Klassen noch nicht durchgedrungen.
Ich würde mal sagen, der weitaus größere Teil der MC-Programmierer
benutzt einfach keinen Arduino. Man darf nicht voraussetzen, daß Arduino
der Nabel der Welt ist.
Peter D. schrieb:> Wie kommt man bloß darauf, irgendwas zu kaufen, wo keinerlei technische> Angaben dabei sind?
Weil es billig ist.
MfG von der Spree
Frank
Einfach alle Permutation aus Compilerflags und Pinvertauschen
durchtesten, und wenn's nicht geht - in die Tonne und next.
Das ist allenfalls einfacher wie ein Datenblatt anzuschauen, aber ob' s
zielfuehrend ist, weiss ich nicht.
maybe schrieb:> Meme schrieb:>> oh weh schrieb:>>> Man kann versuchen und hoffen dass es trotzdem funktioniert>>> indem man den CS Pin mit -1 angibt.>>>> Meinst du GND?>> So wie es aussieht hat das Display CS schon intern an GND angeschlossen.> Als CS Pin gib irgendein Pin an und lasse ihn in der Luft hängen.
Funktioniert leider immer noch nicht, aber war einen Versuch wert :/
Ich habe jetzt angefangen das Datenblatt zu studieren und schaue
parallel dazu in den Quellcode von Adafruits Display Treiber. Ich weiß
jetzt schon das es eine große Menge Arbeit für mich wird (Hab das selbe
schon mal für einen monochromen Display und Arduino gemacht).
Also falls noch jemand eine Idee hat bitte jetzt :D
Ich danke
Meme schrieb:> Also falls noch jemand eine Idee hat bitte jetzt :D
Erst Hardware checken, d.h. Pins einzeln ansprechen und am Display
messen. Vorsicht beim Messen - keinen Kurzschluss machen, wenn
benachbarte Pins HIGH und LOW haben, ich weiß nicht wer gewinnt.
Dann ehe solche Sachen durchprobieren:
https://github.com/devbis/st7789py_mpy
Kann man auch besser nachvollziehen als Adafruit library