Kein PSB-Pin auf dem LCD?

7

Ich habe ein Winstar 144x32 LCD (WG14432D) gekauft, weil es billig war und es schön wäre, ein paar Experimente damit zu machen. Das Hauptproblem bei diesem LCD ist, dass es keine (funktionierende) Bibliothek dafür hat.

Ich habe bereits mit Google im gesamten Internet gesucht, aber meine Ergebnisse waren nicht beeindruckend:

https://forum.crystalfontz.com/showthread.php/7410-Tutorial-ST7920-Seeeduino-v4-2-Arduino-Sample-Sketch-Driving-a-144x32-Graphic-LCD (Ein riesiger Beispielcode, der dies nicht tut Ich habe SCK, MISO und CS richtig eingestellt und nichts passiert.)

Da ich wusste, dass es den ST7920- Chip hat, fand ich eine Bibliothek für Bildschirme, die denselben Chip verwenden: https://github.com/olikraus/u8glib/wiki/device#st7920-192x32 (Die Bibliothek unterstützt nur andere Auflösungen, wie 128x64, aber ich denke, da es der gleiche Chip ist, sollte es auch funktionieren. Ich habe auch andere Bildschirmvarianten des gleichen Chips ausprobiert.)

Auf einer portugiesischen Website habe ich herausgefunden, wie die Bibliothek ordnungsgemäß initialisiert und verwendet werden kann: http://www.arduinoecia.com.br/2013/09/display-grafico-lcd-128x64-st7920.html (Kein Problem für mich, wie ich auch Portugiesisch sprechen)

Sie verwenden: U8GLIB_ST7920_128X64_1X u8g(6, 5, 4 ,7);zum Einstellen der Software-SPI-Pins für das LCD. Bei mir (Arduino Mega) wäre es:

U8GLIB_ST7920_128X64_1X u8g(52, 51, 53); //Enable, RW, RS [,RESET] (known also as) SCK, MOSI, CS

Das Ergebnis: Die Anzeige blieb leer. Dann habe ich versucht, die Hardware-SPI-Initialisierung zu verwenden, die laut dieser Site wie folgt lautet:U8GLIB_ST7920_128X64_1X u8g(53); // RS (known also as) CS pin needed only

Trotzdem macht das Display nichts. Es blieb hellgrau (Kontrast eingestellt) und das war's. Kein Blinken, kein Ein- und Ausschalten, nichts ...

Schließlich habe ich in diesem Datenblatt gelesen, dass der PSB-Pin auf 0 (Masse) gesetzt werden muss, um den SPI-Modus zu aktivieren.

PSB Pin muss auf Null gesetzt sein

Andere Varianten dieses Bildschirms hatten Jumper oder Stifte auf der Rückseite, die Sie zu Boden springen können, aber dieser hat keine.

Ein hochauflösendes Bild von der Rückseite der LCD - I erfaßt (oder zumindest versucht) und befestigt unten (die Front hat nichts anderes als das LCD), weil ich finden konnte nichts über irgendetwas von diesem Board. Kein Schaltplan, nichts.

Rückseite des WG14432D

Ich konnte auf dieser Platine keinen PSB-Pin (der als dieser gekennzeichnet ist), Jumper ("JP") oder ähnliches finden.

Die Stifte zur Schnittstelle zum LCD hatten keine ungewöhnlichen Stifte, die ebenfalls als "PSB" oder ähnlich gekennzeichnet sind:

Stifte am WG14432D

Jeder Vorschlag oder jede Antwort wird sehr geschätzt.

Fusseldieb
quelle
4
Die Moral der Geschichte ist, niemals elektronische Komponenten oder Entwicklungskits zu kaufen, die nicht mit der richtigen Dokumentation geliefert werden. Das übliche Ergebnis des Kaufs der billigsten Elektronik, die Sie finden können, ist, dass Sie ewig damit verbringen, herauszufinden, wie es funktioniert, und schließlich aufgeben und eine ordnungsgemäß dokumentierte kaufen.
Tom Carpenter
Ich denke nicht, dass "Winstar" ein Knockoff ist, da es das einzige ist, das eine 144x32 LCD hat.
Fusseldieb
Schauen Sie sich diese AliExpress-Seite an : Höchstwahrscheinlich sollte SCKL an Pin 6 (E), MOSI an Pin 5 (R / W), SS an Pin 4 (RS) angeschlossen sein und MISO wird wahrscheinlich nicht verwendet.
Codo
1
@Fusseldieb Um ehrlich zu sein, habe ich Winstar nicht nachgeschlagen, um es herauszufinden. Aber Sie wären überrascht, wie viele Unternehmen genau das gleiche Teil verkaufen. Zum Beispiel gibt es ein Unternehmen ohne Website namens aMtec, das das gleiche Display verkauft. Es gibt viele solcher Unternehmen, die sich hinter gut präsentierten Frontunternehmen verstecken. Sie verkaufen alle die gleichen Produkte und der Grund, warum die Dokumentation so schlecht ist, ist, dass sie nur die Mülldokumente neu verpacken, die sie erhalten haben. Das, was ein totes Geschenk ist, ist das Fehlen eines Firmennamens, der auf der Leiterplatte aufgedruckt ist.
Tom Carpenter
@Codo Ich kenne die Pinbelegung von dieser Seite: github.com/olikraus/u8glib/wiki/device#additional-information , aber danke.
Fusseldieb

Antworten:

17

Viele LCD-Controller (einschließlich des ST7920) unterstützen eine Vielzahl von Schnittstellentypen, von denen Sie jeweils einen verwenden können. Manchmal ist der Schnittstellentyp befestigt an einer gegebenen LCD - Anzeigemodul; manchmal kann die Schnittstelle ausgewählt werden. Die genauen PCB-Markierungen für die Auswahl zwischen Schnittstellen (wenn möglich) stimmen nicht immer mit den erwarteten Signalnamen überein.

Da die Schnittstelle nicht immer ausgewählt werden kann, ist die Antwort von Finbarr manchmal richtig. Möglicherweise ist die Schnittstelle auf einem bestimmten LCD-Modul absolut fest (z. B. nur parallel, nur SPI usw.).

In Ihrem Fall denke ich jedoch, dass Sie Glück haben könnten . Ich habe eine Ähnlichkeit zwischen Ihrem LCD-Modul und dem im ersten Tutorial, das Sie verlinkt haben, festgestellt.

Beachten Sie, dass Ihr LCD-Modul die Teilenummer 14432Dauf der Rückseite hat und wir 2 Komponentenpositionen sehen - R11und R12. R11fehlt und R12ist montiert:

Rückseite des Original-LCD-Displays - R11 fehlt, R12 ist eingebaut

Nun ein Blick auf dieses Bild aus dem ersten Tutorial , dass Sie verbunden sind , die Rückseite zeigt , dass LCD - Modul (die anders ist Ihr LCD - Modul, und daher gibt es keine Garantie , dass das erste Tutorial Sie Ihren LCD - Modul gelten verbunden wäre sowieso). Stellen Sie sicher, dass es die gleiche Komponentenanordnung wie Ihr LCD-Modul hat und auch ein R11und hat R12. Außer auf diesem Modul R11ist montiert und R12fehlt:

LCD-Modulplatine aus dem Tutorial zeigt R11 eingebaut, R12 fehlt

Ich kann nicht garantieren, dass dieser nächste Teil für Ihr LCD-Modul gilt. Sie benötigen das Datenblatt mit den relevanten Details, um ganz sicher zu sein. Es ist jedoch möglich, dass die Antwort in diesem Dokument enthalten ist :

Auswahloptionen für die LCD-Schnittstelle

Beachten Sie, wie für ihre Modellnummer mit der Endung 14432D (ähnlich Ihrer Modellnummer) die Widerstände R11und R12zur Auswahl zwischen parallelen und SPI-Schnittstellen verwendet werden. Sehen Sie auf dem LCD-Modul in Ihrem ersten Tutorial-Link nach, wie nur diese R11installiert sind und welche die SPI-Schnittstelle verwenden. Sehen Sie auf Ihrem LCD-Modul nach, wie nur diese R12installiert ist, und Sie können die Pinbelegung der SPI-Schnittstelle nicht wie in diesem Lernprogramm gezeigt verwenden.

Vielleicht ist Ihr LCD-Modul für eine parallele Schnittstelle konfiguriert? Dies würde mit der Tatsache übereinstimmen, dass R12es auf Ihrem LCD-Modul installiert ist.

Daher vielleicht durch Entlöten R12von Ihrem Board und in der resoldering R11Position, können Sie möglicherweise die SPI - Schnittstelle verwenden und Pinout in diesen ersten Tutorial gezeigt.


Aktualisieren:

Hier ist die Platine, nachdem Fusseldieb die Änderung vorgenommen hat (der Widerstand wurde von der R12Position in die R11Position bewegt ):

Original-LCD nach dem Bewegen des Widerstands von der Position R12 in die Position R11

Diese Änderung wurde bestätigt, um die SPI-Schnittstelle mithilfe der folgenden Anschlussstifte erfolgreich zu aktivieren:

LCD Pin SPI Signal (Original)
------- ---------- ----------
   1 Vdd (Vdd)
   2 Vss (Vss)
   3 Vo (Vo)
   4 CS (SS) (RS)
   5 MOSI (R / W)
   6 SCLK (E)

Zu Ihrer Information, schauen Sie sich das andere Tutorial an:

http://www.arduinoecia.com.br/2013/09/display-grafico-lcd-128x64-st7920.html

Dabei wird ein LCD-Modul mit einer völlig anderen Schnittstellen-Pinbelegung verwendet, die die CS1und CS2-Signale enthält (Pins 15 und 16 an seinem 20-poligen Anschluss). Dadurch kann die Schnittstelle zwischen parallel und SPI umgeschaltet werden, ohne dass Komponenten auf der Leiterplatte gelötet / entlötet werden müssen. Sie haben diesen 20-poligen Anschluss mit diesen Signalen nicht auf Ihrem LCD-Modul. Aus diesem Grund gilt dieses Lernprogramm nicht direkt für Ihr Modul (obwohl die ST7920- Befehle wahrscheinlich gelten, sobald Sie eine SPI-Schnittstelle für Ihr spezifisches LCD-Modul erhalten).

SamGibson
quelle
1
Nun , das ist ein ausgefeiltes Antwort. Vielen Dank für Ihre Zeit. Da ich das LCD sowieso nicht so verwenden kann, werde ich versuchen, den Widerstand wie gesagt zu löten. Ich werde später antworten.
Fusseldieb
1
Erledigt. Habe ich es richtig gelötet? prntscr.com/gjvd6o (Entschuldigung, dass Sie diesen winzigen Widerstand fast getötet haben: P)
Fusseldieb
1
No wayyy ... LOOK : prntscr.com/gjvhqk Umarme mich! JETZT!
Fusseldieb
1
Sie, Sir, verdienen zwei Medaillen. Einer, um gerade ein Superheld zu sein, und der andere, nur für den Fall, dass Sie den ersten verlieren. Beeindruckend! Schließlich werden diese LCDs für viele Menschen nützlich sein. Sie können sich meine Glücklichkeit im Moment nicht vorstellen. Ernsthaft. Ich danke dir sehr. :-)
Fusseldieb
1
@Fusseldieb - Ich bin sprachlos, danke. :-) Ist es nicht toll, wenn Hardware-Hacking funktioniert :-) Danke auch, dass du überhaupt alle Fotos und Links geliefert hast! Um zukünftigen Lesern zu helfen, werde ich meine Antwort so aktualisieren, dass sie Ihr Foto der Leiterplatte enthält, nachdem Sie den Widerstand bewegt haben, damit sie wissen, wie es aussehen sollte, um die SPI-Schnittstellenoption zu aktivieren. Wieder gut gemacht und viel Glück!
SamGibson
3

Entschuldigung, Sie haben eine parallele Schnittstelle auf diesem Display. Der Controller-IC selbst unterstützt die Wahl zwischen einer seriellen oder parallelen Schnittstelle, aber der Pin ist fest mit 1 auf der Platine verbunden.

Die kleinste Schnittstelle, die Sie verwenden können, ist 7 Bit: RS, R / W, E und vier Datenleitungen.

Finbarr
quelle
Aber warum sind die Header-Pins dann so beschriftet, als würden sie SPI unterstützen? (RS, R / W, E)? Der Beispielcode enthält auch ein Video, das das (genau?) Gleiche LCD in Aktion über SPI mit der gleichen Verkabelung wie meins zeigt.
Fusseldieb
1
SPI hätte Pins mit der Bezeichnung SCLK, MOSI, MISO und möglicherweise SS.
Finbarr
Ich habe in der Vergangenheit chinesische Displays verwendet. Und obwohl die Pins seltsame Beschriftungen hatten, unterstützten sie SPI. Sie müssen nur herausfinden, welches welches ist ...
Codo
@Codo Ich habe die Pins bereits dreifach überprüft. Ich weiß, welches MISO, CLK, CS ist ... Aber egal was passiert, es wird nicht funktionieren.
Fusseldieb