Displays LCD por puerto serie bajo Linux

ArticleCategory: [Choose a category for your article]

Hardware

AuthorImage:[Here we need a little image form you]

[Photo of the Author]

TranslationInfo:[Author and translation history]

original in en Guido Socher en to es Javier Nieto Esteban

AboutTheAuthor:[A small biography about the author]

Guido es un fan de Linux desde hace mucho. Se puede visitar su página web sobre linux en www.oche.de/~bearix/g/.

Abstract:[Here you write a little summary]

Este artículo explica como usar el display digital BLC2021 de la empresa Matrix Orbital en Linux. El BLC2021 es una pequeña matriz (display digital) LCD muy fácil de usar y no requiere ningún tipo de controlador adicional o driver.

ArticleIllustration:[This is the title picture for your article]

[Illustration]

ArticleBody:[The article body]

Introducción

Con un poco de habilidad, puedes convertir tu antiguo PC en un reproductor de MP3 para tu cuarto de estar o en un controlador para la calefacción central de tu casa o simplemente, usarlo en un servidor de intranet. Los usos pueden ser ilimitados. En todos estos casos, estaría bien tener el ordenador en una caja pequeña sin monitor o teclados cerca. En lugar de esto, tendrás un pequeño display digital LCD que muestre el título de la canción que está sonando en tu reproductor MP3, la temperatura de tu calefactor o el estado del servidor.

El display LCD de matrix-orbital es ideal para estas, y otra multitud de aplicaciones.

Los LCDs y en general cualquier dispositivo electrónico, son elementos muy sensibles. Conectar un display LCD a un voltaje demasiado pequeño o demasiado grande puede fácilmente destruir la matriz. Presentamos en este artículo el BCL2021 porque es muy fácil de instalar y viene provisto de todos los cables necesarios para ser conectado al ordenador. Todo lo que necesitas para instalar el BCL2021 es un destornillador. Con los cables y conectores que vienen con el equipo no hay porque hacer nada mal.

Instalación

El BLC2021 viene con todos los cables necesarios para su inserción en una bahía de PC de 5.25 pulgadas. La alimentación deberá ser conectada a la fuente de alimentación interna del PC y el cable de banda deberá conectarse al puerto RS232. Una posibilidad de hacer esto es sacarlo por un slot libre y insertarlo en el conector externo del puerto RS232.

Matrix-orbital proporciona los drivers en un disquete. Dicho disquete Contiene el software lcdproc-0.3.3 para Linux. Es un programa GPL y el código está incluido en el disco. Sin embargo el lcdproc-0.3.3 esta preparado para displays de 4 líneas y el BLC2021 tiene solamente 2. Por lo tanto, solamente veras un parpadeo. Parece que las versiones más recientes de lcdproc se podrán usar con displays de dos líneas, aunque no las he probado.

lcdproc ha sido escrito para mostrar información periodica del sistema, como el tiempo que lleva encendida la máquina, el uso de la memoria etc. En este este artículo no vamos a usar lcdproc. Expondremos una forma más general de escribir información en el display. Usarlo es muy fácil y no es necesario software complicado para Linux. Todo lo que se necesita es inicializar la línea serie correctamente y después, se puede usar un guión de Shell para manejar el Display LCD. El resto del artículo explica como hacer esto.

Usando el display LCD

El BLC2021 puede leer caracteres ASCII normales de la línea serie pero antes, hay que inicializarla:
  1. Descarga el programa mtxorb (mtxorb-0.2.tar.gz). Desenpaquetalo con tar zxvf mtxorb-0.2.tar.gz (Nota: algunos navegadores ya ejecutan "gunzip" con los archivos .gz durante la descarga, pero no renombres el archivo a mtxorb-0.2.tar. Si es el caso, prueba  con: tar xvf mtxorb-0.2.tar.gz).
  2. Compílalo: cd mtxorb-0.2; make
  3. Crea un enlace lógico al dispositivo donde has conectado el LCD:
    cd /dev; ln -s ttyS0 lcd    (para el primer puerto, COM1)
    cd /dev; ln -s ttyS1 lcd    (para el segundo puerto, COM2)
  4. El programa mtxorb asume que el LCD se ha conectado a una línea serie de 19200 baudios. Esta es la configuración de fábrica con la que viene el BLC2021.
  5. Usa el comando mtxorb para inicializar la l&aicute;nea serie:
    mtxorb /dev/lcd

Ahora el display esta listo para usar. Aquí hay un pequeño ejemplo en perl que muestra un contador de segundos ascendente:
#!/usr/bin/perl -w
open(LCD,">/dev/lcd")||die "ERROR: can not write to /dev/lcd\n";
$|=1;
my $i=0;
while(1){
   $i++;
   print LCD chr(0xFE),"X"; # clear the display
   print LCD "Count $i\n";
   sleep(1);
}
close LCD;

El BLC2021 entiende un reducido número de comandos. Para entrar en modo comando, es necesario enviar el carácter hexadecimal FE al display y después dar el carácter del comando correspondiente. El carácter del comando "X" borra el display. Los comandos están documentados en un pequeño manual que viene con el display LCD. Hay comandos para establecer el contraste, para encender y apagar la retro-iluminación y para crear tus propios caracteres.

Escribiendo la información del sistema en el display

Como se ha comentado, una opción es escribir información del sistema como el uso de la memória de swap, el tiempo que lleva el equipo encendido y la carga de proceso de la CPU en el display usando lcdproc.

Otra opción es usar el programa mtxorb citado anteriormente y escribir un pequeño script en perl. Puedes obtener el tiempo que lleva la máquina encendida de /proc/uptime, el uso de la swap de /proc/meminfo y el de la CPU de /proc/loadavg. Este es exactamente el script en perl llamado lcdwriter (pincha para descargarlo). De esta forma, el script se puede modificar fácilmente para mostrar otras cosas aparte de la memoria de swap, la carga etcétera.

¿ Dónde se puede comprar el BLC2021?

Matrix Orbital parece ser el típico ejemplo de compañía con buenos productos y no tan buen marqueting. El display LCD que me iban a enviar nunca me llegó. Matrix Orbital tiene una lista de distribuidores en su página Web. En Alemania, es "elektronikladen.de" quien vende estos displays. Hice mi pedido por correo electrónico y estaba en mi buzón en 24 horas. ¡Un servicio muy rápido! La lista de distribuidores tiene direcciones de vendedores en otros países. El precio del BLC2021 es de algo menos de 100 Euros.

N. del T.: En el momento en el que se ha traducido este artículo no parece haber distribuidores en España o IberoAmérica.