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

Radar con Arduino y Processing
Realizar un radar con Arduino y Processing

Realizar un radar con Arduino y Processing

| Actualizado:
Comentarios: 0

En este artículo explicaremos cómo montar un radar con Arduino y utilizaremos el programa processing para representar en la pantalla los datos. Un radar se basa en emitir un impulso de radio que se refleja en un objeto. A partir…

Joystick analógico y Arduino
¿Cómo utilizar un joystick analógico con Arduino?

¿Cómo utilizar un joystick analógico con Arduino?

| Actualizado:
Comentarios: 0

En este post veremos la conexión de un joystick a la placa Arduino. Primero se comprobara hacia donde se mueve sacando los datos por el serial monitor y en un segundo proyecto, según el movimiento del joystick encenderá un led.…

Iluminación de un led según la cantidad de luz
Sistema de regulación de la iluminación de un led a partir de la cantidad de luz

Sistema de regulación de la iluminación de un led a partir de la cantidad de luz

| Actualizado:
Comentarios: 0

El objetivo es encender un LED y variar su intensidad dependiendo de la luz ambiental, para esto vamos a utilizar un sensor de luz LDR. Antes de cambiar la intensidad del LED según la cantidad de luz, haremos que se…

Radio FM con Arduino y el módulo TEA5767
Hacer una radio FM con Arduino y el módulo TEA5767

Hacer una radio FM con Arduino y el módulo TEA5767

| Actualizado:
Comentarios: 1

En este artículo haremos una radio FM con el módulo TEA5767 para Arduino y utilizaremos una pantalla LCD para mostrar la frecuencia que estamos escuchando. Para el cambio de frecuencia, vamos a utilizar un potenciómetro lineal que después cambiaremos por…

Comentarios - 0

Deja un comentario

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