Arduino LCD Shield Deja un comentario

Seguimos con la publicación de artículos sobre nuestro gran amigo Arduino, y esta vez toca hacer algo mas visual. Usaremos la Shield LCD con teclado. Esta shield es muy sencilla de usar, y la IDE de Arduino incorpora su librería con algunos ejemplos. Esta pantalla LCD nos será muy útil para mostrar información, y veremos que su uso es igual de sencillo que usar el puerto serie de nuestro Arduino.

Materiales necesarios

Primeros pasos con Arduino LCD Shield

01
Vamos a emplear este modelo de Shield LCD con teclado, 2×16 (2 filas por 16 caracteres cada fila. 5×8 pixeles cada carácter).

Aunque este modelo posee un teclado, en este artículo solo nos centraremos en el uso básico de la pantalla LCD.

lcd shield arduino 02
Conectaremos la shield a nuestro Arduino. Nosotros usaremos Arduino Mega, pero para Arduino Uno funciona de la misma forma.

lcd shield arduino 03
Debemos asegurarnos de que los pines de la shield corresponden con los pines de Arduino.

Hola mundo! con Arduino LCD Shield

Empezaremos por la configuración y función básica de la librería LiquidCrystal que usa esta arduino lcd shield.

lcd shield arduino 04

Es algo muy sencillo, donde los comentarios del propio código describen su funcionamiento. El único cuidado a tener, es a la hora de inicial la librería LiquidCrystal, en algunas shields los pines no son los que se usan en este código. Debemos comprobar que pin de Arduino corresponde a cada pin de la shield LiquidCrystal(rs, enable, d4, d5, d6, d7).

Posicionar el cursor

lcd.setCursor(col, row) establece la posición del cursor donde aparecerán los siguientes caracteres escritos en el LCD.

lcd shield arduino 05

Mostrar la posición del cursor

lcd.cursor() muestra la posición actual del cursor con un subrayado en la pantalla.

lcd shield arduino 06

Mostrar la posición del cursor segunda opción

lcd.blink() muestra el cursor mediante una cuadro de forma parpadeante. Para ocultar la posición del cursor se debe usar la función lcd.noBlink().

lcd shield arduino 07

Reiniciar la posición del cursor

lcd.home() posiciona el cursor en la esquina superior izquierda del LCD.

lcd shield arduino 08

Borrar contenido

lcd.clear() borra la pantalla del display LCD y posiciona el cursor en la esquina superior izquierda. El contenido borrado no podrá mostrarse otra vez con ninguna función.

lcd shield arduino 09

Encender el display

lcd.display() enciende el display LCD después de que haya sido apagado con lcd.noDisplay(). Esta función restaura el contenido del LCD (y el cursor) que estaba anteriormente en el display.

lcd shield arduino 10

En este programa se puede apreciar que hemos hecho una escritura y no se muestra hasta que no encendemos el display.

Desplazamiento de caracteres

lcd.scrollDisplayLeft() y lcd.scrollDisplayRight() desplaza el contenido del display LCD (texto y cursor) una posición a la izquierda o hacia la derecha.

En este ejemplo aumentaremos el nivel de complejidad para mostrar en el display un texto que rebota de lado a lado de la pantalla, útil para dar animación a los mensajes.

lcd shield arduino 11

Retroiluminación

Esta shield LCD posee una retroiluminación de color blanco. Mediante el Pin 10 PWM de nuestro Arduino podremos controlar la intensidad de esta iluminación. Los valores propios de esta salida van desde 0 (iluminación apagada) hasta 255 (iluminación máxima). La utilización de este control de retroiluminación es muy sencillo como veremos en el siguiente ejemplo:

lcd shield arduino 17

Creación de caracteres personalizados para Arduino LCD Shield

lcd.createChar(num, data) crea un carácter de 5×8 pixeles. Solo se permiten 9 caracteres personalizados y etiquetados de 1 a 9 (num).

La apariencia de cada carácter personalizado se especifica mediante una serie de ocho bytes, uno para cada fila. Los cinco bits menos significativos de cada byte determinan los píxeles en esa fila (data).

Para mostrar el carácter personalizado se usa la función lcd.write().

lcd shield arduino 12

Una forma sencilla de crear nuestro carácter es dibujar una matriz de 5×8 y rellenaremos cada espacio para crear nuestro carácter. Para convertir este dibujo en un vector de 8 bytes, nos fijaremos en cada fila de la matriz dibujada, donde cada espacio en blanco será un 0 y un espacio coloreado será un 1:

lcd shield arduino 15
Matriz 5×8.

lcd shield arduino 16
Matriz coloreada.

Para finalizar este artículo, con los conocimientos obtenidos anteriormente, vamos a realizar un monitor serie con nuestra pantalla LCD, de tal forma que todos los caracteres que reciba Arduino por el puerto serie se muestren en el display.

lcd shield arduino 14

Para ver el funcionamiento de este programa, abriremos el monitor serie con la velocidad en 9600 baud y escribimos cualquier cosa.

lcd shield arduino 13
Debe aparecer lo que hemos enviado por puerto serie en la pantalla LCD.

Descargar Sketch

 

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Enviar Whatsapp
Hola 👋
¿En qué podemos ayudarte?