Tutorial 8 de Arduino .- Pantalla LCD

Publicado por Loli Diéguez en

Uno de los complementos de Arduino que no podemos dejar de lado son las pantallas LCD, en algún sitio tenemos que leer los datos, ¿no?...no siempre vamos a tener el terminal abierto donde ver las lecturas de los sensores conectados a nuestro Arduino.

 

 

 

Configuración de pines LCD 16 × 2

El display que vamos a usar tiene 16 pines y el primero de izquierda a derecha es el pin de tierra. El segundo pin es el VCC al que conectamos el pin de 5 voltios en la placa Arduino. El siguiente es el pin Vo en el que podemos colocar un potenciómetro para controlar el contraste de la pantalla.

A continuación, el pin RS o el pin de selección de registro se utiliza para seleccionar si enviaremos comandos o datos a la pantalla LCD. Por ejemplo, si el pin RS está configurado en estado bajo o cero voltios, entonces estamos enviando comandos a la pantalla LCD como: coloque el cursor en una ubicación específica, borre la pantalla, apague la pantalla, etc. Y cuando el pin RS está configurado en estado alto o 5 voltios, estamos enviando datos o caracteres a la pantalla LCD.

  

Continuando con los pines, después viene el pin R / W que selecciona el modo si leeremos o escribiremos en la pantalla LCD. Aquí, el modo de escritura es obvio y se usa para escribir o enviar comandos y datos a la pantalla LCD. El modo de lectura es empleado por la propia pantalla LCD al ejecutar el programa que no es necesario discutir sobre él en este tutorial.

El siguiente es el pin E que permite la escritura en los registros, o los siguientes 8 pines de datos de D0 a D7. Entonces a través de estos pines estamos enviando los datos de 8 bits cuando estamos escribiendo a los registros o por ejemplo si queremos ver la última A en mayúscula en la pantalla enviaremos 0100 0001 a los registros según la tabla ASCII. Los dos últimos pines A y K, o ánodo y cátodo, son para la luz de fondo LED.

Después de todo, no tenemos que preocuparnos mucho por el funcionamiento de la pantalla LCD, ya que el código de la biblioteca se encarga de casi todo. Desde el sitio web oficial de Arduino puede encontrar y ver las funciones de la biblioteca que permiten un uso fácil de la pantalla LCD. Podemos usar la biblioteca en modo de 4 u 8 bits. En este tutorial lo utilizaremos en modo de 4 bits, o solo utilizaremos 4 de los 8 pines de datos.

Componentes necesarios para este tutorial de Arduino LCD

Necesitas estos materiales para realizar este tutorial:

  • LCD de 16 × 2 caracteres
  • Potenciómetro
  • Placa Arduino
  • Protoboard y cables de salto

Con estos componentes montaremos un circuito como este:

 

 

Códigos fuente Arduino y LCD

Lo primero que debemos hacer es insertar la biblioteca de control del display. Podemos hacerlo de este modo: Sketch> Incluir biblioteca> Liquid Crystal.

Depués tienes que crear un objeto LC. Los parámetros de este objeto deben ser los números de los pines de entrada digital de la placa Arduino respectivamente a los pines de la pantalla LCD de la siguiente manera: (RS, Enable, D4, D5, D6, D7).

En la configuración tenemos que inicializar la interfaz a la pantalla LCD y especificar las dimensiones de la pantalla empleando la función begin ().

En el bucle escribimos nuestro programa principal.

  • Usando la función de print() imprimimos en la pantalla LCD.
  • La función setCursor () se emplea para configurar la ubicación en la que se mostrará el texto que se escriba posteriormente en la pantalla LCD.
  • La función blink () se utiliza para mostrar un cursor parpadeante
  • Y la función noBlink () para apagar.
  • La función cursor () se usa para mostrar el cursor de subrayado y la función noCursor () para apagarlo.
  • Usando la función clear () podemos borrar la pantalla LCD.

Aquí está el código fuente

 

/*
* Arduino LCD Tutorial

*/

#include <LiquidCrystal.h> // añade la lireria LiquidCrystal
LiquidCrystal lcd(1, 2, 4, 5, 6, 7); // Crea el Objeto LC , parametros ((rs, enable, d4, d5, d6, d7) 

void setup() { 
 lcd.begin(16,2); // Inicializa la interfaz, y especifica parametros de altura y ancho del display
}

void loop() { 
 lcd.print("Arduino"); // Imprime "Arduino" en el display
 delay(3000); // retraso de 3 segundos
 lcd.setCursor(2,1); // Establece la ubicación en la que se mostrará el texto subsiguiente escrito en la pantalla LCD 
 lcd.print("LCD Tutorial"); 
 delay(3000); 
 lcd.clear(); // Limpia el display
 lcd.blink(); // muestra el cursor en el displays
 delay(4000); 
 lcd.setCursor(7,1); 
 delay(3000); 
 lcd.noBlink(); // apaga el parpadeo del cursos
 lcd.cursor(); // Muestra un guión bajo (línea) en la posición en la que se escribirá el siguiente carácter
 delay(4000); 
 lcd.noCursor(); // esconde el cursos del LCD
 lcd.clear(); // Limpia la pantalla
}

 

También es posible escribir caracteres personalizados en la pantalla LCD. Admite hasta 8 caracteres de 5 × 8 píxeles. Podemos especificar la apariencia de cada carácter mediante una matriz de 8 bytes.

En el código fuente a continuación puedes notar cómo especificar la apariencia del personaje cambiando el 0 por 1 que representa los 5 × 8 píxeles. En la configuración tenemos que crear el carácter personalizado utilizando la función createChar (). El primer parámetro de esta función es un número entre 0 y 7, o tenemos que reservar uno de los 8 caracteres personalizados admitidos.

El segundo parámetro es el nombre de la matriz de bytes. Escribimos el carácter personalizado en la pantalla usando la función write () y como parámetro usamos el número del carácter.

Aquí está el código fuente del segundo ejemplo

 

#include <LiquidCrystal.h>

byte slash[8]= { // Array de bytes
  B00001,  // B significa formateador binario y los 5 números son los píxeles
  B00010,
  B00100,
  B01000,
  B10000,
  B00000,
  B00000,
  B00000,
};
LiquidCrystal lcd(1, 2, 4, 5, 6, 7); // Crea el objeto LC. Parametros (rs, enable, d4, d5, d6, d7)

void setup() { 
  lcd.begin(16,2); // Inicializa la interfaz LCD y especifica las dimensiones (ancho y alto) de la pantalla
  lcd.createChar(7, slash); // Crea un carácter personalizado para usar en la pantalla LCD. Se admiten hasta ocho caracteres de 5x8 píxeles
}

void loop() { 
  for(int i=0;i<=15;i++) {
    lcd.setCursor(i,0); // Establece la ubicación en la que se mostrará el texto en la pantalla LCD
    lcd.write(7); // escribe un caracter en el LCD
    delay(1000); // retraso de 1 segundo
    lcd.clear(); // escribe un caracter en el LCD
  }
}

Como ves, usando las librerías adecuadas el trabajo se hace más sencillo, esperamos que te guste este articulo.

 


Compartir esta publicación



← Publicación más antigua Publicación más reciente →