Ebay - China 1.8" SPI TFT - nur Background-LED - welche Lib?

Moin Moin :slight_smile:

Wie der Threadtitel bereits verrät, habe ich mir bei Ebay drei kleine Display gekauft und zwar diese:
http://www.ebay.de/itm/231258584867

In den Fotos der Auktion werden isgesamt drei verschiedene Displays ("HY-1.8 SPI", "QDtech-TFTM1802" und von der Rückseite das gelieferte "1.8 TFT MODULE") gezeigt und ich weiss ehrlich nicht mehr weiter, was ich noch probieren soll, damit es endlich läuft.

Dass sich die gezeigten Module unterscheiden, erkennt man auch schon in der wechselnden Nummerierung der 16 Pins links. Mal ist Pin 1 oben, mal ist er unten. Mal gibt es rechts noch 8 weitere Pins, mal nicht. Laut Beschreibung im Text soll es kompatibel sein zu "1602 LCD and Nokia 5110/3310 LCD Display port". Ich bin mir nicht mal sicher, ob dies ein Farb oder Monochrome-Display sein soll.

Deshalb meine Frage hier, ob schon mal jemand ganz gezielt dieses Display aus der Auktion zum Laufen bekommen hat.

Ich hab's bisher mit zwei verschieden alten UTFT Versionen ausprobiert. Dort dann jeweils mit allen vorhandenen SPI-Display-Typen: HX8340B_S, ST7735, ST7735S, PCF8833, ILI9341_S4P und _S5P.

Die Adafruit ST7735R funktioniert leider genauso wenig wie die Adafruit Nokia 5110/3310. Die Nokia 5110/3310 kommt zumindest von den Pin-Bezeichnungen noch am ehesten hin - auch wenn es vermutlich keine Rolle spielt, ob ein Pin mit dem Schriftzug "RST" oder "Reset" gekennzeichnet ist, scheint der Hersteller des Displays sich mit der Pinbeschriftung am Nokia-Display orientiert zu haben.

Ich google seit zwei Tagen und hab' noch einige andere Libs auf privaten Webseiten oder Blogs gefunden, die aber auch alle nicht laufen - genauso wie die QDtech-Lib, die auch nicht funktioniert. Zum Display "HY-1.8" hatte ich auch etwas gefunden, aber fragt mich bitte nicht mehr, wo. Ich hab' zwischenzeitlich den Überblick verloren, welche der Dutzend Libs ich woher habe.

Das Display bleibt einfach weiß. Nichts zu erkennen: kein Zucken, rein gar nichts - reines weiß.

Ich hab' mittlerweile zwei der drei Display getestet, beide verhalten sich gleich.

Einige Libs bieten "Hardware-SPI" an, was den echten MOSI und Clock verwendet. Manche Libs laufen aber auch als "Software-SPI", wo man die Signale frei im Pinout verteilen kann. Leider macht das für die gewünschte Funktion auch keinen Unterschied.

Auf dem angelöteten Flachbandkabel des Displays steht eine Bestellnummer: 218022002-00
Google spuckt dazu leider nur aus, dass es sich um ein "Chinese LCD 18 PIN" handeln soll und als Typenbezeichnung wird "UNIX" angegeben. Mit dieser Information kann ich leider auch nichts anfangen. Ansonsten ist auf dem Display leider nicht erkennbar, um welchen Chip es sich handeln soll.

Auf dem Display ist noch ein SD-Card-Slot. Ich werd' im Laufe des Tages mal versuchen, ob der wenigstens funktioniert. TFT-SPI und SD-SPI ist getrennt an den Pins verfügbar.

Mit dem Oszi sehen die Signale gut aus. Leider ist's ja nur der MOSI, also nicht bi-direktional. Ich bekomme keinerlei Informationen aus dem Display heraus. Getestet habe ich es mit einem UNO, einem MICRO PRO und einem MEGA. Wobei die neuere UTFT auf dem kleinen UNO gar nicht mehr läuft, weil das Test-Kompilat schon 40k groß ist. :slight_smile:

So, jetzt seid ihr dran. Hat noch jemand eine Idee?

Im schlimmsten Fall werden die Dinger eben unters Tischbein gelegt und verhindern zukünftig, dass mein Schreibtisch wackelt.

Danke im Voraus und Grüße

Ich glaub ich hab von den Displays welche in der Kiste liegen, ungetestet. Werd mal gleich schauen.

Mit dem Oszi sehen die Signale gut aus. Leider ist's ja nur der MOSI, also nicht bi-direktional. Ich bekomme keinerlei Informationen aus dem Display heraus. Getestet habe ich es mit einem UNO, einem MICRO PRO und einem MEGA. Wobei die neuere UTFT auf dem kleinen UNO gar nicht mehr läuft, weil das Test-Kompilat schon 40k groß ist. smiley

Das du den Test-Sketch nicht auf den Uno übertragen kannst, liegt daran, dass Standard alle Displaytreiber mit eingebunden werden, auch die, die garnicht gebraucht werden.

Schau dir innerhalb des Lib Verzeichnisses mal memorysaver.h an. Da steht alles beschrieben.

sschultewolter:
Schau dir innerhalb des Lib Verzeichnisses mal memorysaver.h an. Da steht alles beschrieben.

Ja, prima, danke Dir.

Ich wollte nur keine zweite Baustelle aufmachen und hab' mir die Funktionen aus der memorysaver nicht weiter angeguckt.

Wenn das komische Display hier irgendwann mal laufen sollte, kümmere ich mich um die Speicheroptimierung. :slight_smile:

Ich befürchte, die Chinesen bauen das ein, was gerade rum liegt und vermutlich wird's die vorgefertigte Platine mit unterschiedlichen Displays geben.
In anderen Ebay-Auktionen hatte ich schon die gleiche Platine gesehen und dort sind dann unter Kompatibilität mindestens drei verschiedene Chips gelistet.

Schauen wir mal, was bei Deinen Tests heraus kommt.

Danke und Gruß

So, nach weiterer Suche bin ich auf diesen Thread gestoßen:
http://forum.arduino.cc/index.php?topic=254708.0

Darin wird auf diese Website verwiesen:

Offensichtlich mag es das Display nicht, wenn es auf den Datenleitungen direkt mit +5V befeuert wird und verlangt nach 1k Vorwiderständen.

Die hab' ich aber hier jetzt im Büro nicht und werde es also heute Abend Zuhause probieren.

Grüße

GofX:
Die hab' ich aber hier jetzt im Büro nicht und werde es also heute Abend Zuhause probieren.

Erledigt. Display funktioniert jetzt.

Einfach jeweils 1kOhm in jede Datenleitung und schon klappt's.

2 Tage nach einer Lösung gesucht und dann ist's so einfach. :slight_smile:

Wenn ich an Weihnachten Langeweile haben sollte, baue ich mal einen richtigen Level-Converter. Aber im Moment als "Quick&Dirty"-Lösung reicht mir das mit den Widerständen aus.

Danke & Gruß

Dann brauch ich nachher dann doch nicht testen. Bin noch nicht wieder daheim. Aber 1k Widerstände als Lösung wundern mich. Prüf mal bitte auf Durchgang von J1. Ist dieser richtig gesetzt?

sschultewolter:
Prüf mal bitte auf Durchgang von J1. Ist dieser richtig gesetzt?

Die Brücke ist offen, da ich das Display mit 5V Versorgungsspannung betreibe.

Mit dem J1 wird nur der Festspannungsregler überbrückt, falls man direkt mit 3,3V rein geht. Dann braucht der Regler nix zu regeln und der Eingang wird auf den Ausgang gelegt.

Die vom Regler erzeugte Spannung ist auch in Ordnung und der Display-Chip bekommt seine geregelten 3,3V.

Aber offensichtlich haben die Datenleitungen des Chips keine 5V-Toleranz und irgendetwas fängt sich bei 5V Daten irgendwelchen Unsinn.

Im Moment läuft bei mir eben auch die Hintergrundbeleuchtung mit 5V ... höchstwahrscheinlich wird das die Lebensdauer einschränken.

Wie gesagt, zu Weihnachten baue ich mal einen richtigen Levelkonverter, der mir in den 5 Datenleitungen sauber die 5V von den 3,3V trennt und dann gibt's auch gleich noch einen kleinen Regler für die Hintergrundbeleuchtung dazu.

Alternativ kann ich den Arduino ja auch mit 3,3V laufen lassen ...

Warum einen "richtigen" Levelkonverter bauen?
http://www.exp-tech.de/Shields/Strom-Spannung-79/Sparkfun-Pegelwandler-Bidirektional.html

Hallo,
aus China für 1,07 Euro

http://www.ebay.de/itm/IIC-I2C-Logic-Level-Converter-Bi-Directional-Module-5V-to-3-3V-For-Arduino-/131196183140?pt=LH_DefaultDomain_0&hash=item1e8be6e264

bis Weihnachten sollte er locker ankommen

Gruss
Kurti

Danke für die beiden fertigen Level-Converter. Der Preis von nur 1,- EUR ist gewiss auch nicht schlecht.

Ich bin aber kein Fan von dauerhaft installierten Dupont-Kabeln und deswegen soll das Ganze dann auch irgendwann mal eher so einen "Shield-Charakter" bekommen. Also eine kleine Platine mit den Abmaßen eines Unos, unten ein paar Stiftleisten dran, auf einen Uno drauf gesteckt und oben drauf eben einen 3,3V-Regler, ein paar FETs mit Widerständen und eine Buchsenleiste, wo die acht Pins des Displays rein gesteckt werden. Am Ende noch ein paar Abstandshalter dazu geklickt und fertig. Kein allzu großer Aufwand - liesse sich Notfalls sogar mit Lochraster realisieren - und es gibt keine Kurzschlüsse locker umher fliegender Platinchen mehr.

Mal sehen, wie fleißig der Weihnachtsmann ist. Eventuell wird ja dann anschließend noch ein Gehäuse drumherum gedruckt. XD

Dank+Gruß

Hallo,

dank diesen Threads habe ich dieses Display mit den Widerstände in den Leitungen zum Laufen bekommen.
Aber den SD Card-Reader bekomme ich zum verrecken nicht zum laufen.
Wenn ich die den Reader von meinem allten Sainsmart Display nehme (Das Neue macht weiterhin das Bild)
oder einen Standalone Reader benutze geht alles.
Gibt es da wieder einen Schaltungstrick ?

Ulli

Bilder von der Schaltung? Da sitzt keine Magie hinter.

SCLK und Mosi (oder Miso 8) parallel zu den Displayleitungen, Pin 13 und Pin 4 als CS (Diplay hat 10 als CS)
Die gleiche Schaltung funktioniert bei dem Sainsmart Display.
Bei diesem QDtech geht das Display aber der Reader nicht.
Das Sainsmart geht sogar mit den Widerständen die ich für das QDTech eingebaut habe, das geht ohne nicht.
Wie gesagt ich habe die Schaltung mal getrennt. Die Readerkabel an das Sainsmart, Display das QDTech.
Das geht. Oder eben auch mal einen Standalone Reader, geht auch. Am QDtech auch mal Miso und Mosi
getaucht, nix. Von den Displays habe ich mehrere getestet. Bild OK, SD Card nix.

Ulli

Bitte den Schaltplan mit genauer Auflistung von deinen Pins.

Deine Angaben sind zu ungenau.

Display braucht nur MOSI, die SD Karte MOSI und MISO. Doppeltes legen der Leitungen von SCK ist nicht erforderlich.
Danach muss noch je ein CS gesetzt werden. Einmal SD Karte und einmal TFT.

Auf andere Displays/Controller/Anschlussbelegungen kann man keine Rückschlüsse ziehen. Auch wenn der Arduino für "Künstler" ist, die nicht näher in die Materie einsteigen möchte, ist ein Basiswissen über die Schnittstellen nicht verkehrt.

Also um es noch mal zu präzisieren :
Ich habe schon mehrere SD - Card reader zum laufen gebracht. Alle brauchten MISO/MOSI und auch SCK, habe ich bei
allen gecheckt, ohne geht es nicht, und natürlich den Chipselect.

Genauso sind auch die Anschlüssen am QDtech Display (um das es hier geht) bezeichnet.

Für alle Datenleitungen habe ich, wie der Threadersteller empfahl 1kOhm Widerstände eingebaut.
Ich kann bestätigen was er schrieb, und was man auch wo anders findet, die Datenleitungen sind nicht
5V tolerant und das Display arbeitet nur mit den Widerständen (Gott sei dank stören sie mein altes DIsplay
nicht und so muß ich nicht immer umbauen)
Aber der Cardreader gibt egal ob mit oder ohne WIderstände keinen Mucks von sich.
Irgentwo in den Tiefen des Netzes habe ich einen Kommentar gefunden er brauche einen DropDown WIderstand, aber
der Auto schrieb nicht auf welcher Leitung und warum.

Verdrahtet habe ich (sowie das alte Saintsmart Display bei dem ja alles geht) es so
wie in diesem Thread beschrieben (Reply 3 und 5)

http://forum.arduino.cc/index.php/topic,123712.0.html

Ulli