Informática

Conexión al PC de una Pantalla LCD del Nokia 3310 por puerto paralelo

Autor: 
k74

Conexión al PC de una Pantalla LCD del Nokia 3310 por puerto paralelo 

 La mayoría de nosotros tenemos un Nokia 3310 en algún cajón de nuestra casa o conocemos a alguien que hace tiempo usaba uno de estos móviles y ahora lo tendrá en el comentado cajón. Bien, ya podemos darle uso a la pantalla de dicho móvil conectándola a nuestro ordenador con alguno de los esquemas comentados más abajo y con el software LCDInfo. Todo empezó en esta rama del foro de www.lcdinfo.com, en la cual explican que pantallas nos sirven y como conectarlas ya que los Nokia 3310 no llevan todos la misma, añadiendo que otros modelos de móviles Nokia también llevan pantallas conectables a nuestros ordenadores.

  

 La pantalla contiene el controlador PCD8544 Archivo PDF integrado en la misma con lo que nos facilita la tarea. En la siguiente imagen tenéis los datos de la pantalla:

 

Descripción LCD Nokia 3310

 

  Como observareis los pines de conexión de LCD son muy pequeños por lo que necesitaremos un soldador de poca potencia con punta muy fina y mucha paciencia. Deberemos tener mucho cuidado cuando soldemos ya que un calentamiento excesivo derretirá el soporte de plástico negro.

 

 

  Para no estropear la pantalla no deberemos de pasar de +3,3v en ninguna de sus entradas. Como el puerto paralelo nos da señales de +5v necesitaremos limitarlos hasta los +3.3v mencionados antes.

  Parece ser que existen pantallas que funcionan con diferente voltaje de Vdd, es el caso de la mía que para que se vea correctamente solo requiere de +2v en Vdd. No hay manera de identificar que pantalla es de un voltaje y cual del otro por lo que os recomiendo montar el esquema tal y como vienen en la imágenes y si se ve muy oscura seguir las instrucciones que he puesto en la descripción de cada uno de los esquemas.

 

 Esquema 1:

 

  Este esquema es el más sencillo y barato, realizado en está Web http://rifer.narod.ru/nokia3210.htm que gracias a su software se puede controlar el voltaje de salida modificando el archivo setting.ini del controlador.

 

 

 Esquema 2:

 

  Este esquema es sencillo, funciona perfectamente y se basa en diodos zener que limitan el voltaje a +3.3v. En mi caso la pantalla que utilicé de pruebas necesitaba un voltaje en VDD de +2v aproximadamente, por lo que tuve que añadir un potenciómetro regulable de 20K entre la patilla 7 y la resistencia de 1K2. Sin él se veía toda la pantalla en negro ya que tenía excesivo voltaje, ahora puedo regular el contraste gracias a dicho potenciómetro.

 

 

 

Esquema 3:

 

  Este es el primero que apareció en Internet, utiliza dos integrados que no son fáciles de encontrar. El 74LCX245 Archivo PDF encargado de reducir a +3.3v las señales procedentes del puerto paralelo y el LP2950-3.3 Archivo PDF que es un simple regulador de tensión que mantiene +3.3v para alimentar el LCD y el 74LCX245. El 74LCX245 está diseñado para montaje SMD por lo que no lo encontramos en encapsulado normal. El más grande de los disponibles es el estándar SOIC (Small Outline Integrated Circuit), correspondiente a la referencia 74LCX245WMX, como veréis en las imágenes su montaje es muy complicado y requiere de mucha paciencia y un buen soldador fino. Este circuito no lo he conseguido adaptar a mi pantalla de +2v en Vdd por causas que desconozco, tampoco voy a indagar mucho ya que utilizare el esquema 2.

 

 

 

Software:

 

  El esquema 1 utiliza el programa www.lcdhype.de.vu con un controlador especifico que lo podemos encontrar en la Web del autor del esquema.

 

  http://www.lcdhype.de.vu

  Driver PCD8544

 

  Los esquemas 2 y 3 utilizan el LCDinfo que aún no está muy desarrollado pero poco a poco lo van mejorando. Lo podéis descargar de los foros de esta Web: http://www.skippari.net/lcd/

 

  www.lcdinfo.com

 

  En los dos programas no es nada sencillo configurar las pantallas a nuestro gusto, por lo que lo mejor es seguir alguna guía de las que hay disponibles por Internet.

 

Configuración del LCDinfo por HoLdRiSk de www.hardcore-modding.com:

 

  Una vez descargado e instalado el LCDINFO y configurado el driver, que es el PCD8544 (Nokia LCD) v0.2 alpha lo cerramos y nos vamos a la carpeta llamada Screens, una vez allí renombramos el archivo screens.xml por screens.txt para editarlo (luego tendremos que cambiar otra vez la extensión de txt a xml).

Bien! Este archivo es el que le dice al lcdinfo que archivos xml (pantallas) debe cargar y mostrar, por orden (aunque veremos posteriormente que no es así del todo cierto): vamos a modificarlo poniendo esto:

<screens>
<screenfile>cpuinfo.xml</screenfile>
<screenfile>hddinfo.xml</screenfile>
<screenfile>netstat.xml</screenfile>
</screens>

Guardamos, cerramos el archivo y lo renombramos a .xml

Así que cada ruta y archivo representa una pantalla que será mostrada, en este caso 3 pantallas, aquí es donde podemos añadir o quitar las pantallas con diferente información.

Antes de seguir voy a explicar unas cosas de la pantalla de nokia, la resolución para texto es de 14 para X y de 5 para Y (incluyendo el cero) lo que quiere decir que:

Si esto es la pantalla:

01234................14
________________
|A--------------------|0
|---------------------|1
|---------------------|2
|---------------------|3
|---------------------|4
|____________a|5

'A' Está en la posición x="0" y="0" y 'a' x="14" y="5". Ahora las imágenes, han de ser mapa de bits (.bmp) y estar en blanco y negro e invertidas con una resolución de 84 x 48...

Una vez explicado esto, seguimos, creamos un archivo cpuinfo.txt y lo editamos, yo lo voy a partir en trozos para su mejor explicación:

<screen>
<name>cpuinfo</name>
<action>
<id>Core.ChangeScreen</id>
<parameter>hddinfo</parameter>
<delay>10000</delay>
</action>

Esta primera parte especifica el nombre de la actual pantalla, luego que después de mostrar ésta va a 'saltar' a la pantalla con el nombre hddinfo y especifica la duración en la cual será mostrada esta pantalla (en milisegundos).

<item type="image" x="0" y="0">
<imagebitmap>imagenes\cpu.bmp</imagebitmap>
<refresh>500</refresh>
</item>

Aquí muestra una imagen 'cpu.bmp' con coordenada de origen 0,0 y con un refresco de 500 milisegundos.

<item type="text" x="0" y="4">
<scrolltype>none</scrolltype>
<textpos>left</textpos>
<fieldsize>3</fieldsize>
<textdata>Uso</textdata>
<refresh>500</refresh>
</item>

Bien esto último es para mostrar texto estático, en este caso mostrará en la posición de la pantalla (0,4) 'Uso'. textpos determina el tipo de alineación (left/right), fieldsize determina que espacio (en caracteres) vamos a darle a éste, como 'Uso' no va a cambiar, le ponemos 3.

<item type="plugintext" x="6" y="4">
<scrolltype>none<scrolltype>
<textpos>right<textpos>
<fieldsize>3</fieldsize>
<varid>mbm.percentage.CPU</varid>
<refresh>500</refresh>
</item>

</screen>

Esto es para mostrar texto dinámico, que viene dado por el programa Mother Board Monitor, en este caso el uso de la cpu en varid se pone la variable que queremos mostrar, en el archivo donde está el lcdinfo.txt existe uno que se llama log.txt que contiene toda la lista de variables disponibles para mostrar; Aquí en fieldsize ponemos 3 dígitos porque puede ser '2' '23' o '100' desde 1 hasta 3 dígitos, con alineación 'textpos' a la derecha y refresco de la variable de 500.

Y ya está guardamos, cerramos y renombramos a 'cpuinfo.xml' un ejemplo de como poner una imagen, texto fijo, y texto dinámico si quieres añadir mas información sigue añadiendo items, yo no lo hago aquí porque serie repetir lo mismo pero con diferente posición y demás...

Tendríamos que crear otro archivo hddinfo.xml y otro netstat.xml con la salvedad de que éste último en change screen tendríamos que poner 'cpuinfo' para que se repita el ciclo...

 

Para configurar el archivo netstat.xml tenemos que tener en cuenta la línea <varid>NetStats.UploadSpeed1</varid>:

<item type="plugintext" x="5" y="4">
<scrolltype>none</scrolltype>
<textpos>right</textpos>
<fieldsize>3</fieldsize>
<varid>NetStats.UploadSpeed1</varid>
<refresh>500</refresh>
</item>

Deberemos cambiar el 1 indicando el número de adaptador de red que queremos medir poniendo 0, 1, 2...

Si se utiliza variables que dependen de programas, como es este caso tendríamos que estar ejecutándolo, en este caso MBM y ya está de todos modos si queréis descargaros las pantallas de Rekkerd las cuales ya están configuras para mostrar datos de la CPU, memoria, HDDs, WinAMP, etc:

 

  screens_rekked.rar


Tan solo tenéis que descomprimirlas en el directorio del lcdinfo y sobrescribir si os lo pide y ejecutar el lcdinfo.

 

Para que muestre la información del WinAMP v2 o v5 solo tenéis que copiar el archivo vis_lcdinfo.dll que se encuentra dentro de la carpeta extra_dlls localizada en donde tengáis instalado el LCDinfo a la carpeta plugins del WinAMP. Luego solo tenéis que comprobar que este activa la opción de "Ejecutar plugin de visualización al comenzar la reproducción" en las preferencias del WinAMP apartado "Plug-ins".

 

Funcionando: