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.
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.
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:
Jeder Vorschlag oder jede Antwort wird sehr geschätzt.
Antworten:
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
14432D
auf der Rückseite hat und wir 2 Komponentenpositionen sehen -R11
undR12
.R11
fehlt undR12
ist montiert: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
R11
und hatR12
. Außer auf diesem ModulR11
ist montiert undR12
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 :
Beachten Sie, wie für ihre Modellnummer mit der Endung 14432D (ähnlich Ihrer Modellnummer) die Widerstände
R11
undR12
zur Auswahl zwischen parallelen und SPI-Schnittstellen verwendet werden. Sehen Sie auf dem LCD-Modul in Ihrem ersten Tutorial-Link nach, wie nur dieseR11
installiert sind und welche die SPI-Schnittstelle verwenden. Sehen Sie auf Ihrem LCD-Modul nach, wie nur dieseR12
installiert 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
R12
es auf Ihrem LCD-Modul installiert ist.Daher vielleicht durch Entlöten
R12
von Ihrem Board und in der resolderingR11
Position, 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
R12
Position in dieR11
Position bewegt ):Diese Änderung wurde bestätigt, um die SPI-Schnittstelle mithilfe der folgenden Anschlussstifte erfolgreich zu aktivieren:
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
CS1
undCS2
-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).quelle
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.
quelle