Compré una Winstar 144x32 LCD (WG14432D) porque era barata y estaría bien hacer algunos experimentos con ella. El principal problema con esta pantalla LCD es que no tiene una biblioteca (en funcionamiento) para ella.
Ya busqué en todo Internet con Google, pero mis resultados no fueron impresionantes:
https://forum.crystalfontz.com/showthread.php/7410-Tutorial-ST7920-Seeeduino-v4-2-Arduino-Sample-Sketch-Driving-a-144x32-Graphic-LCD (Un enorme código de ejemplo que no trabajo. Configuré SCK, MISO y CS correctamente y no pasa nada).
Sabiendo que tiene el chip ST7920 , encontré una biblioteca para pantallas que usan este mismo chip: https://github.com/olikraus/u8glib/wiki/device#st7920-192x32 (La biblioteca solo admite otras resoluciones, como 128x64, pero creo que como es el mismo chip, también debería funcionar. También probé otras variantes de pantalla de este mismo chip).
En algún sitio portugués encontré cómo inicializar y usar la biblioteca correctamente: http://www.arduinoecia.com.br/2013/09/display-grafico-lcd-128x64-st7920.html (No hay problema para mí, ya que hablar portugués también)
Usan: U8GLIB_ST7920_128X64_1X u8g(6, 5, 4 ,7);
para configurar los pines SPI del software para la pantalla LCD. En el mio (Arduino Mega) seria:
U8GLIB_ST7920_128X64_1X u8g(52, 51, 53); //Enable, RW, RS [,RESET] (known also as) SCK, MOSI, CS
El resultado: la pantalla permaneció en blanco. Luego traté de usar la inicialización de hardware SPI, que según este sitio es:U8GLIB_ST7920_128X64_1X u8g(53); // RS (known also as) CS pin needed only
Aun así, la pantalla no hará nada. Se quedó gris claro (Contraste ajustado) y eso es todo. Sin parpadeo, sin encender/apagar, nada...
Finalmente, estaba leyendo en esta hoja de datos que el pin PSB debe establecerse en 0 (tierra) para habilitar el modo SPI.
Otras variantes de esas pantallas tenían puentes o pines en la parte posterior, que puedes saltar al suelo, pero esta no tiene ninguno.
Una imagen de alta resolución de la parte posterior de la pantalla LCD que capturé (o al menos probé) y adjunté a continuación (el frente no tiene nada más que la pantalla LCD), porque no pude encontrar nada sobre esta placa. Sin esquema, nada.
No pude encontrar ningún pin PSB (que se identifique como tal), puente ("JP") o similar en esta placa.
Los pines para interactuar con la pantalla LCD no tenían pines inusuales que también se identifiquen como "PSB" o similares:
Cualquier sugerencia o respuesta es muy apreciada.
Muchos controladores LCD (incluido el ST7920) pueden admitir una variedad de tipos de interfaz, de los cuales puede usar uno a la vez. A veces, el tipo de interfaz se fija en un módulo de pantalla LCD dado; a veces se puede seleccionar la interfaz. Las marcas exactas de PCB para seleccionar entre interfaces (cuando sea posible) no siempre coinciden con los nombres de señal que espera.
Dado que la interfaz no siempre se puede seleccionar, la respuesta de Finbarr a veces es correcta: es posible que la interfaz sea absolutamente fija (por ejemplo, solo en paralelo, solo SPI, etc.) en un módulo LCD determinado.
Sin embargo, en tu caso, creo que podrías tener suerte. Noté una similitud entre su módulo LCD y el utilizado en el primer tutorial que vinculó.
Observe cómo su módulo LCD tiene el número de pieza 14432D
en la parte posterior, y vemos 2 ubicaciones de componentes: R11
y R12
. R11
falta y R12
está instalado:
Ahora mire esta imagen del primer tutorial que vinculó, que muestra la parte posterior de ese módulo LCD (que es diferente a su módulo LCD y, por lo tanto, no hay garantía de que el primer tutorial que vinculó se aplique a su módulo LCD de todos modos). Vea que tiene la misma disposición de componentes que su módulo LCD y también tiene un R11
y R12
. Excepto en ese módulo, R11
está instalado y R12
falta:
No puedo garantizar que la siguiente parte se aplique a su módulo LCD: necesita su hoja de datos con los detalles relevantes para estar completamente seguro. Sin embargo, es posible que la respuesta esté contenida en este documento :
Observe cómo para su número de modelo que termina en 14432D (similar a su número de modelo), las resistencias R11
y R12
se utilizan para seleccionar entre interfaces paralelas y SPI. En el módulo LCD en su primer enlace de tutorial, vea cómo solo R11
está instalado y están usando la interfaz SPI. En su módulo LCD, vea cómo solo R12
está instalado y no puede usar el pinout de la interfaz SPI como se muestra en ese tutorial.
Entonces, ¿tal vez su módulo LCD está configurado para una interfaz paralela? Eso sería consistente con el hecho de que R12
está instalado en su módulo LCD.
Por lo tanto , tal vez al desoldar R12
su placa y volver a soldarla en la R11
posición, puede usar la interfaz SPI y el pinout que se muestra en ese primer tutorial.
Actualizar:
Aquí está la PCB después de que Fusseldieb hizo la modificación (la resistencia se movió de la R12
posición a la R11
posición):
Esa modificación se confirmó para habilitar con éxito la interfaz SPI, utilizando los siguientes pines del conector:
Señal LCD Pin SPI (Original) ------- ---------- ---------- 1 Vdd (Vdd) 2 Vss (Vss) 3 Vo (Vo) 4 CS (SS) (RS) 5 MOSI (L/E) 6 SCLK (E)
FYI, mirando el otro tutorial:
http://www.arduinoecia.com.br/2013/09/display-grafico-lcd-128x64-st7920.html
Eso utiliza un módulo LCD con un pinout de interfaz completamente diferente, que incluye las señales CS1
y CS2
(pines 15 y 16 en su conector de 20 pines). Esto permite cambiar la interfaz entre paralelo y SPI sin necesidad de soldar o desoldar componentes en la PCB. No tiene ese conector de 20 pines con esas señales en su módulo LCD. Es por eso que ese tutorial no se aplica directamente a su módulo (aunque es probable que se apliquen los comandos ST7920 , una vez que pueda hacer que una interfaz SPI funcione en su módulo LCD específico).
R12
antes de soldar ese mismo componente en la R11
ubicación de la PCB. No puede escapar sin quitar R12
;-) Si tiene un problema para desoldar R12
(no sé qué herramientas y experiencia tiene), entonces hay un enfoque alternativo (pero de mayor riesgo). Déjame saber si necesito explicarlo. ¡Buena suerte!R11
esté correctamente soldado a su almohadilla (no estoy seguro por la foto), entonces sí, eso me parece correcto :-)Lo siento, estás atascado con una interfaz paralela en esa pantalla. El IC del controlador admite la elección entre una interfaz serial o paralela, pero el pin está cableado a 1 en la PCB.
La interfaz más pequeña que puede usar sería de 7 bits: RS, R/W, E y cuatro líneas de datos.
tom carpintero
Fusseldieb
codo
tom carpintero
Fusseldieb
Fusseldieb
codo
U8G2_ST7920_192X32_F_SW_SPI
debería funcionar y encajar mejor con respecto al tamaño (altura correcta, un poco demasiado ancha).Fusseldieb