1. El Octavo Bit
  2. / Arduino
  3. / Proyectos para Arduino
  4. / ¿Cómo conectar una pantalla LCD a Arduino UNO?

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

| Actualizado:
Comentarios: 0

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

¿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:

  • Arduino Uno o similar.
  • Protoboard.
  • Cables.
  • Pantalla LCD.
  • Potenciómetro lineal.
  • Resistencia de 220 Ohm.
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() > tiempo_anterior + periodo){
    lcd.scrollDisplayRight();     //Hace scroll o desplazamiento a la derecha cada 600 milisegundos
    tiempo_anterior = millis();
  }
}

Artículos que te pueden interesar

Reloj con Arduino
Montar un reloj con Arduino, el módulo RTC DS3231 y mostrarlo en una pantalla LCD

Montar un reloj con Arduino, el módulo RTC DS3231 y mostrarlo en una pantalla LCD

| Actualizado:
Comentarios: 0

Con este proyecto podremos regular la fecha y la hora actual. El módulo RTC DS3231 cuenta con una pila que en el caso de que se corte la fuente de alimentación, permitirá al reloj seguir guardando internamente la fecha y…

¿Cómo medir el valor de una resistencia con Arduino?
Medir el valor de una resistencia con Arduino

¿Cómo medir el valor de una resistencia con Arduino?

| Actualizado:
Comentarios: 0

¿Cuántas veces se nos han mezclado las resistencias y no sabemos su valor? Para eso vamos a construir un sencillo óhmetro para medir la resistencia.

Medir la inclinación con Arduino
Medir la inclinación con Arduino y el sensor SW-520D

Medir la inclinación con Arduino y el sensor SW-520D

| Actualizado:
Comentarios: 0

Realizamos un ejemplo básico, donde se puede apreciar que la lectura hecha por el sensor se recibe en un pin de entrada digital de la placa (hemos usado el nº 7). Material necesario: Arduino Uno o similar. Protoboard. Cables Sensor…

Robot esquiva obstáculos con Arduino
Robot esquiva obstáculos con Arduino y un sensor de ultrasonidos

Robot esquiva obstáculos con Arduino y un sensor de ultrasonidos

| Actualizado:
Comentarios: 2

En este proyecto nos marcamos el objetivo de desarrollar un robot capaz de esquivar objetos. Un robot que avanzará en línea recta mientras que no detecte ningún obstáculo; en caso de detectar algún estorbo, girará sobre sí mismo hasta que…

Comentarios - 0

Deja un comentario

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