¿Cómo conectar una pantalla LCD a Arduino UNO?

Pantalla LCD de 16x2 líneas conectada a Arduino
Actualizado el 6 agosto, 2021   0 comentarios

¿Quieres aprender a conectar una pantalla LCD con Arduino? En este post se mostrará cómo montar el circuito electrónico y el código necesario para comprobar su funcionamiento, mostrar caracteres en la pantalla y cómo desplazar el texto a la derecha o a la izquierda.

En este artículo vamos a tratar de conectar una pantalla LCD de 16×2 líneas. Mostraremos un pequeño texto y veremos cómo moverlo por la pantalla.

Material necesario:

Pines del módulo pantalla LCD para Arduino

Lo primero es conocer la funcionalidad de cada pin de la pantalla, ya que así será más fácil su control:

  • GND: toma de tierra, siempre va a negativo.
  • VDD: alimentación de la pantalla, es recomendable poner una resistencia de 220 ohm para evitar quemarla.
  • VS: es para ajustar el contraste de la pantalla, que puede hacerse a través de un potenciómetro. Podemos utilizar uno de 10 K.
  • RS: Register Select, para controlar las órdenes de la pantalla, como escribir, borrar, etc.
  • RW: Read/Write, controla el modo de lectura o escritura en la pantalla.
  • E: Enable, permite que la pantalla reciba información.
  • D0 – D7: Son los pines de datos, utilizaremos del D4 al D7.
  • A y K: son los pines de la luz de fondo verde de la pantalla.

Esquema montaje:

Esquema de la pantalla LCD y potenciómetro.

Para realizar las conexiones vamos a ir poco a poco, comenzamos conectando la tensión y GND a la protoboard. Seguidamente, conectamos la alimentación de la pantalla LCD: el pin 16 del LCD a tierra y el 15 a 5V.

Primer paso para el montaje de Arduino con la pantalla LCD

Si conectamos el cable a la placa Arduino, el LCD se debería iluminar, si no ocurre, algo va mal.

¿Seguimos? colocamos el potenciómetro de ajuste: conectamos el pin correspondiente a tierra, y el otro, a la fuente de alimentación; el pin del centro, al pin 3 del LCD que corresponde con el ajuste de contraste. Para dar tensión a la pantalla LCD, el pin 2 y el pin 1 a tierra.

Pantalla LCD con Arduino

Si encendemos y probamos a girar el potenciómetro, se debería ver unos cuadritos en la pantalla, si no es así, hay que revisar las conexiones.

Tabla con la relación de pines conectados a Arduino.

Conectamos los pines de control, RS al pin 7 de la placa Arduino, RW a negativo y E al pin 8. Los pines de datos, D4 al pin 9, D5 al pin 10, D6 al pin 11 y D7 al pin 12.

¿Ya está todo montado? ¡Vamos con el código!

El código no tiene ninguna complicación, necesitamos incluir la librería LiquidCrystal.h: inicializamos el LCD, indicando los pines utilizados en la placa de Arduino. Lo siguiente, es indicar el tamaño de la pantalla y en el bucle loop() indicamos la posición y línea donde queremos escribir el texto.

Código:

#include <LiquidCrystal.h>
LiquidCrystal lcd(7, 8, 9, 10, 11, 12);  //Pines donde va conectada la pantalla (RS, E, D4, D5, D6, D7)

void setup() {
  lcd.begin(16, 2);   //Inicializamos la pantalla
}

void loop() {
  //Mensaje 1
  lcd.setCursor(0, 0);          //Posiciona el cursor en la columna 0, fila 0
  lcd.write("Prueba 1:");      //Escribe el mensaje
  lcd.setCursor(0, 1);         //Posiciona el cursor en la columna 0, fila 1
  lcd.write("Hola mundo!");    //Escribe el mensaje
  delay(3500);                 //Espera 3.5 segundos
  lcd.clear();                 //Borra el mensaje mostrado

  //Mensaje 2
  lcd.setCursor(3, 0);          //Posiciona el cursor en la columna 3, fila 0
  lcd.write("Prueba 2:");       //Escribe el mensaje
  lcd.setCursor(2, 1);          //Posiciona el cursor en la columna 2, fila 1
  lcd.write("Arduino y LCD");   //Escribe el mensaje
  delay(3500);                  //Espera 3.5 segundos
  lcd.clear();                  //Borra el mensaje mostrado
}

Detalles que debemos de conocer del código: se utiliza la librería LiquidCrystal, que inicializamos antes del setup(), con la instrucción lcd(RS, E, D4, D5, D6, D7), donde RS corresponde con el pin 7, E con el 8, D4 con el 9, D5 con el 10, D6 con el 11 y D7 con el 12, como dijimos más arriba.

Con esta librería tenemos la posibilidad de desplazar el texto hacia la izquierda o hacia la derecha. Las funciones son:

  • scrollDisplayLeft(), hacia la izquierda.
  • scrollDisplayRight(), hacia la derecha.

Estas funciones van desplazando una casilla cada vez, pero entre cada desplazamiento debemos poner una pausa. Vamos a probarlo con el mismo diagrama anterior, el código sería:

#include <LiquidCrystal.h>
LiquidCrystal lcd(7, 8, 9, 10, 11, 12);  //Pines donde va conectada la pantalla (RS, E, D4, D5, D6, D7)

unsigned long tiempo_anterior = 0;
int periodo = 600;    //Tiempo para desplazamiento

void setup() {
  lcd.begin(16, 2);   //Inicializamos la pantalla
}

void loop() {
  //Mensaje 1
  lcd.setCursor(0, 0);          //Posiciona el cursor en la columna 0, fila 0
  lcd.write("Prueba 1:");      //Escribe el mensaje
  
  lcd.setCursor(0, 1);         //Posiciona el cursor en la columna 0, fila 1
  lcd.write("Hola mundo!");    //Escribe el mensaje
  if (millis() &gt; tiempo_anterior + periodo){
    lcd.scrollDisplayRight();     //Hace scroll o desplazamiento a la derecha cada 600 milisegundos
    tiempo_anterior = millis();
  }
}
También te puede interesar

Deja un comentario

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

*
*
*