Cómo mostrar caracteres en un pantalla LCD 1602 con Arduino (Previsualizar)

I (L) fabricadigital.org
Primero debes completar Cómo mostar textos en una pantalla LCD 1602 con Arduino antes de ver esta lección

Una pantalla LCD es un componente muy común en proyectos hechos con Arduino. Es una forma muy rápida y cómoda de mostrar diferentes mensajes que nos alerten del estado o, simplemente, nos indique un valor o cadena de caracteres. ¿Ya sabes conectarla?¿Quieres aprender a programarla para que aparezcan caracteres?¡Vamos!

En la lección anterior aprendimos a usar las funciones lcd.begin, lcd.setCursor, lcd.print y lcd.clear. Para mostrar dibujos en la pantalla LCD (puede ser 1602 o 2004) vamos a necesitar:

Una variable byte de tipo array para crear los dibujos. ¿Cómo funcionan estas variables?

Existen varias formas de crear variables de tipo array, la que vamos a usar contiene el tamaño y su valor. Es decir, vamos a crear una variable de tamaño 8 bytes y cada byte tendrá un valor. ¿Qué valores serán?

Cada uno de las posiciones de nuestra pantalla LCD está formado por 40 píxeles como vemos en la imagen inferior. ¡Vamos a hacer un coco!

Tenemos que pintarlo en binario, con 1 y 0. Si queremos que el caracter aparezca pintado, lo representamos con el número 1, si, por el contrario, no queremos que aparezca, pondremos un 0. De esta forma la primera línea estará representada por 00000, la segunda por 01110 y así hasta completar nuestro diseño.

lcd char bytes

Para escribir esto en código, tenemos que decirle a Arduino que vamos a introducir 8 bytes (uno por cada fila) en binario. Por ello, vamos a crear una variable que contiene 8 bytes (coco[8]) y, en cada uno de ellos, vamos a introducir su valor en binario, empezamos con 0b para indicar que el número que ponemos a continuación es binario.

byte coco[8] = {
0b00000,
0b01110,
0b11111,
0b10101,
0b11111,
0b11111,
0b11111,
0b10101
};

También vamos a necesitar las funciones:

lcd.createChar(número, nombre);: El número indica la posición de la memoria de la pantalla donde hemos guardado el caracter personalizado. Esta pantalla tiene 8 posiciones de memoria que van de 0 a 7, por lo que si queremos guardar un noveno diseño tendremos que sustituir algunos de los guardados anteriormente. El nombre es el que le hemos dado a nuestro diseño, en este caso es coco.

lcd.write(byte(número));: para llamar a las variables byte y mostrar los caracteres creados en la pantalla LCD. Jugaremos con esta función y lcd.setCursor en la función void loop()

¿Escribimos el código?¡Vamos!

1.Abrimos Arduino IDE.

2. Incluimos la librería de la pantalla: Programa > Include library > LiquidCrystal

incluir libreria lcd

3. Inicializamos la librería con los pines de Arduino a los que hemos conectado la pantalla. Escribimos: LiquidCrystal lcd(12, 11, 5, 4, 3, 2); En este orden son: RS, E, D4, D5, D6 y D7.

4. En la función void setup():

inicializamos la pantalla con la función lcd.begin(16,2);

guardamos el caracter que hemos diseñado en la posición de memoria que queramos, yo lo voy a guardar en la posición 0. lcd.createChar(0,coco);

5. En la función void loop():

colocamos el cursor donde queramos empezar, por ejemplo, en el tercer caracter de la fila 0. Para ello, escribimos lcd.setCursor(3,0);

escribimos el caracter que queramos mostrar en la pantalla, en nuestro caso solo hemos guardado uno, a coco en la posición 0, por lo tanto escribimos lcd.write(byte(0));

El código completo nos ha quedado así:

¿Mola? ¡Ahora te toca a ti!

Cacharrea, crea y comparte tus proyectos.

  • Módulo I2C para pantallas LCD de caracteres
    Módulo I2C para pantallas LCD de caracteres
    Añadir al carrito
    Vista rápida
    2,80  (2,31  excl. IVA)
    En tienda
  • Pantalla LCD de caracteres 1602
    Pantalla LCD de caracteres 1602
    Añadir al carrito
    Vista rápida
    3,00  (2,48  excl. IVA)
    En tienda
  • ¡Oferta!
    Pantalla LCD de caracteres 2004
    Pantalla LCD de caracteres 2004
    Añadir al carrito
    Vista rápida
    9,10  7,50  (6,20  excl. IVA)
    En tienda
Volver a: Pantalla de caracteres LCD 1602/2004 con Arduino

©2017 Fábrica Digital desde Jerez de la Frontera, España.

956 05 77 07 (llamadas) / 717 717 452 (Whatsapp) / hola@fabricadigital.org

De Lunes a Viernes de 9 a 13h y de 14 a 18h. Sábados de 10 a 14h.

Calle Manuel Yélamo Crespillo, Edif. Los Ramos, 11401 Jerez de la Frontera, Cádiz. - Cómo llegar

Información Legal - Aceptamos

 

Inicia Sesión con tu Usuario y Contraseña

o    

¿Olvidó sus datos?

Create Account