Buscar en este blog

27.9.06

Configuración de un display LCD HD44780


Este LCD (y todos los compatibles con el chip HD44780) está preparado para conectarse al puerto paralelo.

La parte electrónica del montaje debe corresponderse al siguiente esquema (
NOTA: No se a quien corresponde el esquema original, de modo que no puedo hacer referencia a su autor. Sin embargo está ampliamente extendido por la red):

Hay una guía muy recomendable para esto aquí (www.hardcore-modding.com).

Para simplificar la integración del display y los cables he aprovechado la caja de una fuente de alimentacion para montar todo alli:



Vamos ahora con la configuración del software.

  • El puerto paralelo debe estar configurado en la BIOS con un modo "normal". Sirve todo lo que indique "standard, ECP, EPP". No he probado con modos especiales pero con alguno puede ser que no funcione. Estar atento a esta posibilidad a la hora de buscar un error de funcionamiento.

  • Instalar el paquete "lcd4linux" desde los repositorios Debian. A fecha está disponible en los repositorios de todas las ramas oficiales.

  • Usando un kernel moderno de la rama 2.6 de Linux, hemos de habilitar el puerto paralelo como un dispositivo en "/dev" llamado "parport0" (o si tenemos varios puertos paralelos, con otra numeracion). Para ello debemos tener el soporte dentro del nucleo (en cuyo caso ya existira la entrada "/dev/parport0" o en caso contrario cargar el módulo "ppdev" que nos habilitará el puerto y creará el dispositivo en "/dev".
  • Lcd4linux se instala como un servicio que podemos arrancar o parar a nuestro antojo. La instalacion ya crea los enlaces necesarios para que arranque automáticamente al iniciarse el sistema.
  • Llegados a este punto y si nuestro LCD cumple perfectamente la especificación del controlador HD44780 podríamos conectarlo al puerto paralelo e iniciar "lcd4linux".
/etc/init.d/lcd4linux restart

Deberíamos ver algo parecido a esto en la pantalla:



  • Si no ocurre así, deberemos configurar el archivo "/etc/lcd4linux.conf". Este archivo se encarga de dos cosas:
          1. Establecer la configuracion de conexion con el LCD
          2. Personalizar lo que queremos que aparezca en la pantalla



configuración /etc/lcd4linux.conf

[...]
driver 'HD44780'
UseBusy '1' #Tiempo de espera (segundos) para iniciar el lcd
Port '/dev/parport0'
Size 20x4

Wire #Estos son los valores que deben adaptarse a cada caso
RW 'AUTOFD' # concreto de LCD. Estos son los que me funcionan.
RS INIT
ENABLE STROBE
ENABLE2 GND
GPO GND
[...]


Aquí un ejemplo de configuracion con algunos indicadores (widgets) ya funcionando:
#/etc/lcd4linux.conf
Display HD44780-20x2 {
Driver 'HD44780'
Model 'generic'
UseBusy 1
Port '/dev/parport0'
Size '20x2'
Wire {
RW 'AUTOFD'
RS 'INIT'
ENABLE 'STROBE'
ENABLE2 'GND'
GPO 'GND'
}
}

Widget CPU {
class 'Text'
expression uname('machine')
prefix 'CPU '
width 9
align 'L'
update tick
}

Layout Default {
Row1 {
Col1 'CPU'
}
}

Variables {
tick 500
}

Display 'HD44780-20x2'
Layout 'Default'


Enlaces:
http://lcd4linux.sourceforge.net
http://lcd4linux.sourceforge.net/display/hd44780/main.html