Robotica Facil. Robots, kits, circuitos, sensores, motores, etc.. SR1 Robot Multifuncional Robótica Fácil  
Página Principal Novedades Ayuda Ver Carrito Catálogo
Kits Robots Circuitos electrónicos Sensores robotica Motores y servos para robots Ruedas y Orugas para robots
Soportes y hardware Tornillos y separadores Libros robotica Radio Modem, Transmisores de Vídeo Robots Fotograficos
Fuentes de Alimentacion Componentes electrónicos Varios robotica Proyectos de Robotica Tutoriales de Robotica
DISPLAY LCD SERIE + I2C 4 X 20 LCD05 S310118

DISPLAY LCD SERIE + I2C 4 X 20 LCD05. Clic para ampliar

Introducción

LCD03 es un módulo lcd de 4 líneas de 20 caracteres con retro iluminación controlable por software que destaca por su doble interfaz que permite controlarlo desde un puerto serie o bien mediante un bus I2C. El cambio entre un modo u otro se realiza con solo cambiar un puente. Gracias a su iluminación posterior, los mensajes se ven claramente incluso en total oscuridad. Una característica adicional es la posibilidad de conectar un teclado matricial de 12 teclas como el S310119 y leer la pulsación de las teclas con lo que se convierte en una auténtica 'consola' de entrada y salida de datos para cualquier sistema microcontrolador, y todo ello controlado desde un puerto serie o un bus I2C. Velocidad de la conexión serie: 9600 baudios. Nivel TTL. NO CONECTAR DIRECTAMENTE AL PUERTO DEL PC. Alimentación 5V, 280 mA. La versión LCD03 sustituye a la versión LCD02, siendo funcionalmente idénticos, pero con la posibilidad de encender y apagar la iluminación de la pantalla mediante comandos para reducir el consumo.

ATENCION. ESTA PAGINA ES UNA TRADUCCION DE LA PAGINA DEL FABRICANTE Y CONTIENE TODA LA INFORMACIÓN DISPONIBLE SOBRE EL DISPLAY Y SU TECLADO.

Descripción general

El controlador por bus I2C y puerto serie permite un fácil manejo del display de texto LCD 20*4. Requiriendo tan solo una alimentación de 5 voltios y dos conexiones de datos en ambos modos de funcionamiento. Asimismo, incluye numerosas opciones de formato de texto además de la capacidad de introducir caracteres personalizados en la memoria que pueden utilizarse cuando se desee. Hay un buffer de 64 bytes basado en el sistema FIFO (First in First Out, primero en entrar, primero en salir) que garantiza un retardo mínimo en la escritura del display.

Conexiones

Conexiones del Display LCD03. Clic para ampliar

Los números entre paréntesis corresponden con los pines del teclado

Teclado para conectar al display. Clic para ampliar.
Los Pines 1 y 9 no están conectados - Sólo se usan los pines 2 - 8.

Selección de modo puerto serie/I2C

Este display presenta un pequeño puente para seleccionar bien el puerto serie o el bus I2C. Por defecto, el puente viene colocado en el modo de puerto serie. Si se quita este puente, entonces el módulo estará en modo I2C. El puente de modo sólo se comprueba como parte de la secuencia de encendido, por que deberá comprobar que el display esté apagado antes de cambiar de modo. Si cambia la posición de este puente de enlace mientras que el módulo esté encendido, no se aplicarán los cambios hasta que vuelva a encender el display.

FIFO (First In, First Out)

Dado que las comunicaciones vía I2C son más rápidas de lo que el display puede aceptar los datos, todos los comandos que se envíen al display lcd03 se procesarán a través del buffer FIFO (First In, First Out), es decir, el primero en llegar, el primero en salir. Los datos son enviados al display tan rápido como el display puede aceptar los comandos. El buffer FIFO tiene una longitud de 64 bytes y el dato del número de bytes libres puede obtenerse en cualquiera de los dos modos. Al enviar una gran cantidad de texto al display, debería comprobar el número de bytes libres para evitar el desbordamiento del buffer, ya que los bytes que sobren serán ignorados. El buffer FIFO existe también en modo serie, aunque a 9600 baudios la velocidad del display es lo suficientemente rápida para que no sea necesario comprobarlo.

Funcionamiento mediante bus I2C

Dirección I2C

El display LCD03 tiene la dirección 0XC6 dentro del bus I2C. Las líneas SCL y SDA deberían tener resistencias de polarización positiva en alguna parte del bus. Solamente necesitará 1 par de resistencias para todo el bus I2C, y no específicamente para el LCD02. Normalmente estas resistencias están en el controlador maestro por lo que es posible que ya las tenga. De lo contrario, cualquier resistencia entre 1K8 y 10K debería valer. Lo recomendable es utilizar un valor de 1K8 para una mejor inmunidad al ruido. 

Comandos de control del Display

El LCD03 tiene cuatro registros, tres de los cuales son registros de información de sólo lectura. El Registro 0 es un registro con dos funciones, cuando es de escritura, es un registro de comandos en el que todas las instrucciones de la sección de comandos deben ser enviadas. Cuando es de lectura devolverá el número de bytes libres en el buffer FIFO. 

Registro Lectura Escritura
0 Nº de bytes libres en el buffer FIFO Registro de comando
1 Byte bajo de estado del teclado x
2 Byte alto de estado del teclado x
3 Versión x

Funcionamiento por puerto serie

El modo de puerto serie funciona a través de una conexión con una tasa de baudios de 9600 bps (sin paridad, 1 bit de parada). El nivel de las señales es de 5v, por lo que no conecte el conector RS232 del puerto serie del ordenador, directamente al módulo - ya que podría destruirlo. Utilice un MAX232 o equivalente para convertir los niveles RS232 a 5v. El funcionamiento es igual que en el modo I2C ya que está basado en los mismos comandos más un grupo de comandos adicional, cuya función será solicitar datos al modulo como por ejemplo la versión del software.

Comandos Comunes(bus I2C y puerto serie)

ATENCION: Los comandos 19 y 20 son nuevos y exclusivos de los displays LCD03. El modelo anterior LCD02 no responde a estos comandos.

 

Decimal Comando Descripción
0 nulo (ignorado) Ignorado como un comando sin operación
1 Inicio de Cursor Fija el cursor en la posición de inicio (esquina superior izquierda)
2 Fijar cursor (1-80) Fija el cursor en una posición especificada tras el byte siguiente, donde 1 es de la esquina superior izquierda y 80 es la esquina inferior derecha
3 Fijar cursor (línea, columna) Fija el cursor utilizando dos bytes, donde el primer byte es la línea y el segundo byte es la columna
4 Ocultar cursor Oculta la posición del cursor en el display 
5 Mostrar cursor bajo Cambia el tipo de cursor a un cursor bajo de subrayado 
6 Mostrar cursor parpadeante Cambia el tipo de cursor a un cursor parpadeante 
8 Borrar carácter anterior Elimina el carácter anterior a la posición del cursor del display
9 Tabulador horizontal (según configuración del tabulador) Mueve la posición actual del cursor a la posición definida en la configuración del comando 18 (por defecto el espacio del tabulador es 4)
10 Salto de línea (LF) inteligente Mueve el cursor a la línea inferior en la posición de la misma columna
11 Tabulador vertical Mueve el cursor a la línea superior en la posición de la misma columna
12 Borrar pantalla Borra toda la pantalla y coloca el cursor en la posición de inicio
13 Retorno de carro Mueve el cursor al principio de la siguiente línea
17 Borrar columna Borra el contenido de la columna actual y mueve el cursor a la siguiente columna
18 Configuración tabulador Define el tamaño del tabulador, el byte siguiente puede tener un tamaño de 1 a 10
19 Apaga la iluminación Apaga la retro iluminación de la pantalla.
20 Enciende la iluminación Enciende la retro iluminación de la pantalla.
27 Generador de caracteres personalizados Permite la creación de 8 caracteres personalizados. Vea el apartado del generador de caracteres personalizados
32-255 Caracteres ASCII Escribe caracteres ASCII en el display

Comandos adicionales (Sólo Puerto serie)

Decimal Comando

Descripción
14 Estado FIFO El módulo devuelve el estado del buffer FIFO, el número de los bytes libres de 0 a 64 
15 Versión del Software El módulo devuelve la versión de su software en un sólo byte
16 Estado del teclado El módulo devuelve el estado de entrada del teclado, dos bytes con el primer byte bajo en primer lugar (ver sección del teclado)

Generador de caracteres personalizados

Es posible enviar caracteres personalizados a través de una trama compuesta por 8 bytes. Lo primero que se debe hacer es enviar un comando 27 para indicar que tiene intención de crear un carácter personalizado. Después debe especificar la posición en la memoria RAM de uno de los 8 caracteres disponibles que desee crear; los 8 caracteres están situados en las posiciones 128-135. El patrón enviado tendría que ser como el que se muestra en la tabla siguiente:

Cómo calcular un patrón de caracteres de 8 bytes:

Se envían ocho bytes con el bit más alto puesto a uno, los dos bits siguientes se ignorarán (x) y los 5 bits finales mostrarán el patrón de línea.

Bit  4 Bit  3 Bit  2 Bit  1 Bit  0 byte enviado
Byte 0                 1xx00000  (128)
Byte 1                 1xx00100  (132)
Byte 2                 1xx01110  (142)
Byte 3                  1xx10101  (149)
Byte 4                  1xx00100  (132)
Byte 5                 1xx00100  (132)
Byte 6                 1xx00100  (132)
Byte 7                 1xx00000  (128)

 

Para construir la flecha anterior en la ubicación 128 debería enviar esta secuencia al comando de registros:

  • 27 (Comando de generación de caracteres)
  • 128 (Posición de memoria en la que se va a guardar el carácter)
  • 128 (byte 0)
  • 132 (byte1)
  • 142 (byte2)
  • 149 (byte3)
  • 132 (byte 4)
  • 132 (byte 5)
  • 132 (byte 6)
  • 128 (byte 7)

El carácter ya está creado en la posición de memoria 128 por lo que ya puede utilizarlo siempre que el módulo esté activo. Simplemente deberá enviar la dirección entre 128 y 135.

Entradas en el teclado

Una característica adicional del módulo es su capacidad para conectar un teclado matricial de 3X4 teclas, a través del cual el LCD03 explora automáticamente el estado de las teclas a intervalos periódicos. Se proporciona el resultado en forma de dos bytes. Consulte la tabla siguiente para ver su sencillo funcionamiento. Cada bit representa la fila y la columna de cada botón del teclado. La segunda fila representa a los caracteres del teclado correspondientes al utilizar nuestro teclado S310119.

Byte Alto   Byte Bajo
0 0 0 0 4/3 4/2 4/1 3/3          3/2 3/1 2/3 2/2 2/1 1/3 1/2 1/1
0 0 0 0 # 0 * 9 8 7 6 5 4 3 2 1

Cuando presione cualquier tecla el bit correspondiente dentro del byte de convertirá en un bit alto. En el modo I2C estos bytes están disponibles para leer desde los registros uno y dos.
En el modo serie, simplemente tendrá que enviar 16 al LCD03 y responderá con los dos bytes como se indica arriba con el byte bajo en primer lugar.

Dimesiones del modulo LCD03

 

 

Haga clic en el botón COMPRAR para añadir este producto a su carrito de la compra.

36,55-Euros.
IVA incluido
AÑADIR AL CARRITO DE LA COMPRA

DISPLAY LCD SERIE + I2C 4 X 20 LCD05

Vea mas productos de esta categoría en:

Circuitos de Interface de entradas y salidas

Ir a la Página Principal de www.SuperRobotica.com

Actualizada el 29/12/2023 © 2002 -2023 INTPLUS ®. Todos los derechos reservados