Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Buscar
0
S/. 0,00
CATEGORÍAS
All Blog News Tutorial LCD, conectando tu arduino a un LCD1602 y LCD2004
ARTÍCULOS POPULARES
Con guración del módulo bluetooth HC-05 usando comandos AT ago 08, 2015
Tutorial trasmisor de celda de carga HX711, Balanza Digital ago 23, 2015
ARTÍCULOS RECIENTES
https://www.naylampmechatronics.com/blog/34_Tutorial-LCD-conectando-tu-arduino-a-un-LCD1.html 1/23
5/6/2019 Tutorial LCD, conectando tu arduino a un LCD1602 y LCD2004
PROMOCIONES ESPECIALES
Módulo RTC DS1307 + EEPROM AT24C32 (I2C)
Agrega fecha y hora a tus proyectos,...
ETIQUETAS
sensor V-Slot Fuente hexagonal allen screw LED LCD robot cnc
NOVEDADES
Celda de carga 1Kg
Esta celda de 1Kg para cargas pequeñas, fabricado en aluminio y con...
S/. 18,00
S/. 75,00
S/. 1,70
S/. 1,20
https://www.naylampmechatronics.com/blog/34_Tutorial-LCD-conectando-tu-arduino-a-un-LCD1.html 2/23
5/6/2019 Tutorial LCD, conectando tu arduino a un LCD1602 y LCD2004
Per l V-Slot 2080 x centímetro
Perfil de aluminio extruido para empezar a hacer estructuras mecánicas y...
S/. 1,24
S/. 0,86
S/. 0,66
S/. 0,40
S/. 290,00
S/. 410,00
S/. 300,00
https://www.naylampmechatronics.com/blog/34_Tutorial-LCD-conectando-tu-arduino-a-un-LCD1.html 3/23
5/6/2019 Tutorial LCD, conectando tu arduino a un LCD1602 y LCD2004
S/. 205,00
https://www.naylampmechatronics.com/blog/34_Tutorial-LCD-conectando-tu-arduino-a-un-LCD1.html 4/23
5/6/2019 Tutorial LCD, conectando tu arduino a un LCD1602 y LCD2004
El LCD tiene una memoria interna en donde almacena todos sus caracteres alfanuméricos,
los cuales podemos extender en ocho caracteres personalizados adicionales.
Los caracteres soportados por la mayoría de modelos de LCD son los siguientes:
https://www.naylampmechatronics.com/blog/34_Tutorial-LCD-conectando-tu-arduino-a-un-LCD1.html 5/23
5/6/2019 Tutorial LCD, conectando tu arduino a un LCD1602 y LCD2004
https://www.naylampmechatronics.com/blog/34_Tutorial-LCD-conectando-tu-arduino-a-un-LCD1.html 6/23
5/6/2019 Tutorial LCD, conectando tu arduino a un LCD1602 y LCD2004
Para la comunicación del LCD y un controlador utiliza un bus de 8 datos, pero se puede
configurar para trabajar con un buz de 4 datos. También usa pines de control RS (chip
select) RW (lectura/escritura) y E (enable).
Para controlar el contrastes usa una entrada analógica VEE el cual por lo general se usa
un potenciómetro para poder variar el contraste, y los LCD q traen Backlight tiene dos
pines al final Led+ (A) y Led- (K) los cuáles se pueden alimentar directamente a 5V o a
través de una resistencia si se tratase de un LED, variando su resistencia se pude variar la
intensidad de luz.
VSS GND
VDD 5V
VEE Potenciómetro
RS D8
RW GND
EN D9
11. D4 D4
12. D5 D5
13. D6 D6
14. D7 D7
https://www.naylampmechatronics.com/blog/34_Tutorial-LCD-conectando-tu-arduino-a-un-LCD1.html 7/23
5/6/2019 Tutorial LCD, conectando tu arduino a un LCD1602 y LCD2004
https://www.naylampmechatronics.com/blog/34_Tutorial-LCD-conectando-tu-arduino-a-un-LCD1.html 8/23
5/6/2019 Tutorial LCD, conectando tu arduino a un LCD1602 y LCD2004
El IDE de Arduino ya viene con una librería que nos permite manejar diferentes tamaños
de LCD’s, La documentación completa la pueden encontrar en la página oficial de Arduino:
LiquidCrystal
Explicaremos las funciones principales, las cuales se usaran en este tutorial.
begin(cols, rows)
Inicializa el LCD, es necesario especificar el número de columnas (cols) y filas (rows)
del LCD.
clear()
Borra la pantalla LCD y posiciona el cursor en la esquina superior izquierda (posición
(0,0)).
setCursor(col, row)
Posiciona el cursor del LCD en la posición indicada por col y row (x,y); es decir,
establecer la ubicación en la que se mostrará posteriormente texto escrito para la
pantalla LCD.
write()
Escribir un carácter en la pantalla LCD, en la ubicación actual del cursor.
print()
Escribe un texto o mensaje en el LCD, su uso es similar a un Serial.print
scrollDisplayLeft()
Se desplaza el contenido de la pantalla (texto y el cursor) un espacio hacia la
izquierda.
scrollDisplayRight()
Se desplaza el contenido de la pantalla (texto y el cursor) un espacio a la derecha.
https://www.naylampmechatronics.com/blog/34_Tutorial-LCD-conectando-tu-arduino-a-un-LCD1.html 9/23
5/6/2019 Tutorial LCD, conectando tu arduino a un LCD1602 y LCD2004
#include <LiquidCrystal.h>
//Crear el objeto LCD con los números correspondientes (rs, en, d4, d5, d6, d7)
LiquidCrystal lcd(8, 9, 4, 5, 6, 7);
void setup() {
// Inicializar el LCD con el número de columnas y filas del LCD
lcd.begin(16, 2);
// Escribimos el Mensaje en el LCD.
lcd.print("Hola Mundo");
}
void loop() {
// Ubicamos el cursor en la primera posición(columna:0) de la segunda línea(fila:1)
lcd.setCursor(0, 1);
// Escribimos el número de segundos trascurridos
lcd.print(millis()/1000);
lcd.print(" Segundos");
delay(100);
}
Como se observa con la función printf() escribimos el texto, y con setCursor(x,y) indicamos
la poción en donde deseamos que se escriba el texto.
Después de cargar, en su LCD deben obtener el siguiente resultado
https://www.naylampmechatronics.com/blog/34_Tutorial-LCD-conectando-tu-arduino-a-un-LCD1.html 10/23
5/6/2019 Tutorial LCD, conectando tu arduino a un LCD1602 y LCD2004
Para el caso del LCD de 20x4 tienen que especificar este tamaño cundo inicializan el LCD.
void setup() {
// Inicializar el LCD con el número de columnas y filas del LCD
lcd.begin(20,4);
// Escribimos el Mensaje en el LCD
lcd.print("Hola Mundo");
lcd.setCursor(0,2);
lcd.print("NAYLAMP MECHATRONICS");
lcd.setCursor(0,3);
lcd.print(" PERU ");
}
void loop() {
// Ubicamos el cursor en la primera posición (columna:0) de la segunda línea(fila:1)
lcd.setCursor(0, 1);
// Escribimos el número de segundos trascurridos
lcd.print(millis()/1000);
lcd.print(" segundos");
delay(100);
https://www.naylampmechatronics.com/blog/34_Tutorial-LCD-conectando-tu-arduino-a-un-LCD1.html 11/23
5/6/2019 Tutorial LCD, conectando tu arduino a un LCD1602 y LCD2004
#include <LiquidCrystal.h>
//Crear el objeto LCD con los números correspondientes (rs, en, d4, d5, d6, d7)
LiquidCrystal lcd(8, 9, 4, 5, 6, 7);
void setup() {
// Inicializar el LCD con el número de columnas y filas del LCD
lcd.begin(16, 2);
// Escribimos el Mensaje en el LCD en una posición central.
lcd.setCursor(10, 0);
lcd.print("WWW.NAYLAMPMECHATRONICS.COM");
lcd.setCursor(5, 1);
lcd.print("Tutorial LCD, Test de desplazamiento ");
}
void loop() {
//desplazamos una posición a la izquierda
lcd.scrollDisplayLeft();
delay(250);
}
#include <LiquidCrystal.h>
//Crear el objeto LCD con los números correspondientes (rs, en, d4, d5, d6, d7)
LiquidCrystal lcd(8, 9, 4, 5, 6, 7);
void setup() {
// Inicializar el LCD con el número de columnas y filas del LCD
lcd.begin(16,2);
}
void loop() {
int sen1=analogRead(A0);
float sen2=analogRead(A1)*(5.0 / 1023.0);
float sen3=analogRead(A2)*(100.0 / 1023.0);
int tiempo=millis()/1000;
// Cursor en la primera posición de la primera fila
lcd.setCursor(0,0);
lcd.print("ADC:");
lcd.print(sen1);
lcd.print(" ");
// Cursor en la 11° posición de la primera fila
lcd.setCursor(10,0);
lcd.print("V:");
lcd.print(sen2,1);//1 decimal
lcd.print("V ");
// Cursor en la primera posición de la 2° fila
lcd.setCursor(0,1);
lcd.print("T:");
lcd.print(sen3,1); //1 decimal
lcd.print("337C "); // "337" -> "°"
// Cursor en la 11° posición de la 2° fila
lcd.setCursor(10,1);
lcd.print("t:");
lcd.print(tiempo);
lcd.print(" s ");
delay(200);
https://www.naylampmechatronics.com/blog/34_Tutorial-LCD-conectando-tu-arduino-a-un-LCD1.html 13/23
5/6/2019 Tutorial LCD, conectando tu arduino a un LCD1602 y LCD2004
De igual manera se trabaja con el LCD de 20x4, con la ventaja de tener más espacio para
mostrar los valores.
#include <LiquidCrystal.h>
//Crear el objeto LCD con los números correspondientes (rs, en, d4, d5, d6, d7)
LiquidCrystal lcd(8, 9, 4, 5, 6, 7);
void setup() {
// Inicializar el LCD con el número de columnas y filas del LCD
lcd.begin(20,4);
}
void loop() {
int sen1=analogRead(A0);
float sen2=analogRead(A1)*(5.0 / 1023.0);
float sen3=analogRead(A2)*(100.0 / 1023.0);
int tiempo=millis()/1000;
// Cursor en la primera posición de la primera fila
lcd.setCursor(0,0);
lcd.print("ADC: ");
lcd.print(sen1);
lcd.print(" ");
// Cursor en la 1° posición de la 2° fila
lcd.setCursor(0,1);
lcd.print("Voltaje: ");
lcd.print(sen2);
lcd.print(" V ");
// Cursor en la primera posición de la 3° fila
lcd.setCursor(0,2);
lcd.print("Temperatura:");
lcd.print(sen3); //1 decimal
lcd.print(" 337C "); // "337" -> "°"
// Cursor en la 1° posición de la 4° fila
lcd.setCursor(0,3);
lcd.print("tiempo: ");
lcd.print(tiempo);
lcd.print(" s ");
https://www.naylampmechatronics.com/blog/34_Tutorial-LCD-conectando-tu-arduino-a-un-LCD1.html 14/23
5/6/2019 Tutorial LCD, conectando tu arduino a un LCD1602 y LCD2004
delay(200);
https://www.naylampmechatronics.com/blog/34_Tutorial-LCD-conectando-tu-arduino-a-un-LCD1.html 15/23
5/6/2019 Tutorial LCD, conectando tu arduino a un LCD1602 y LCD2004
https://www.naylampmechatronics.com/blog/34_Tutorial-LCD-conectando-tu-arduino-a-un-LCD1.html 16/23
5/6/2019 Tutorial LCD, conectando tu arduino a un LCD1602 y LCD2004
#include <LiquidCrystal.h>
//Crear el objeto LCD con los números correspondientes (rs, en, d4, d5, d6, d7)
LiquidCrystal lcd(8, 9, 4, 5, 6, 7);
byte N[8] = {
B11111,
B10001,
B10001,
B10001,
B10001,
B10001,
B10001,
B00000,
};
byte A[8] = {
B11111,
B10001,
B10001,
B10001,
B10001,
B11111,
B10001,
B00000,
};
byte Y[8] = {
B10001,
B10001,
https://www.naylampmechatronics.com/blog/34_Tutorial-LCD-conectando-tu-arduino-a-un-LCD1.html 17/23
5/6/2019 Tutorial LCD, conectando tu arduino a un LCD1602 y LCD2004
B10001,
B10001,
B11111,
B00100,
B00100,
B00000,
};
byte L[8] = {
B10000,
B10000,
B10000,
B10000,
B10000,
B10000,
B11111,
B00000,
};
byte M[8] = {
B11111,
B10101,
B10101,
B10101,
B10101,
B10101,
B10101,
B00000,
};
byte P[8] = {
B11111,
B10001,
B10001,
B10001,
B11111,
B10000,
B10000,
B00000,
};
byte cara[8] = {
B00000,
B10001,
B00000,
B00000,
B10001,
B01110,
B00000,
};
byte cuerpo[8] = {
B01110,
B01110,
B00100,
B11111,
B00100,
B01010,
B10001,
B00000,
};
void setup () {
lcd.createChar (0,N);
lcd.createChar (1,A);
lcd.createChar (2,Y);
https://www.naylampmechatronics.com/blog/34_Tutorial-LCD-conectando-tu-arduino-a-un-LCD1.html 18/23
5/6/2019 Tutorial LCD, conectando tu arduino a un LCD1602 y LCD2004
lcd.createChar (3,L);
lcd.createChar (4,M);
lcd.createChar (5,P);
lcd.createChar (6,cara);
lcd.createChar (7,cuerpo);
// Inicializar el LCD con el número de columnas y filas del LCD
lcd.begin (20, 4);
lcd.setCursor(0, 2);
for(int i=0;i<10;i++)
{
lcd.write (byte (6));
lcd.write (' ');
}
lcd.setCursor(0, 3);
for(int i=0;i<20;i++)
lcd.write (byte (7));
void loop () {}
Como observan en el código es necesario crear los nuevos caracteres antes de inicializar
el LCD. El resultado del ejemplo anterior es el siguiente:
https://www.naylampmechatronics.com/blog/34_Tutorial-LCD-conectando-tu-arduino-a-un-LCD1.html 19/23
5/6/2019 Tutorial LCD, conectando tu arduino a un LCD1602 y LCD2004
El ejemplo anterior se trabajó con un LCD de 20x4 pero ya saben cómo modificar para
trabajar con un LCD de 16x2.
Tutoriales Relacionados
- Tutorial LCD con I2C, controla un LCD con solo dos pines
- Tutorial pantalla TFT táctil con Arduino
13 ?? 0 0 0 Compartir 1
https://www.naylampmechatronics.com/blog/34_Tutorial-LCD-conectando-tu-arduino-a-un-LCD1.html 20/23
5/6/2019 Tutorial LCD, conectando tu arduino a un LCD1602 y LCD2004
10 Comments
Andres
jun 3, 2018
Buenas noches, una pregunta resulta que tengo que simular una LCD 20x4, para un trabajo me
podrías decir qué programa utilizaste para simular la LCD y el programa hola mundo. Mil gracias
Reply
Jorge
may 26, 2019
Reply
Jorge
may 26, 2019
Reply
Federico
jul 17, 2018
Hola! Antes que nada excelente pagina! Felicitaciones. Tengo un LCD 2004, creo estar haciendo
todo tal cual me decis, estoy usasndo un potenciometro de 10k, y no se por que el brillo de la
pantalla es minimo, si hay luz practicamente no se ven las letras, son casi transparentes, se te
ocurre que puede ser?
Reply
Juan Francisco
jul 30, 2018
Tené en cuenta que el tutorial es para la intensidad de luz en las letras. El backlight
se maneja con el A (anodo) y el K (catodo), es decir, las ultimas 2 entradas del LCD
de izquierda a derecha. Tendrías que poner otro potenciometro entre estos dos para
variar su intensidad.
Reply
Jorge Ruiz
ago 28, 2018
Gran calidad de explicacioón, junto con los maravillosos ejemplos e ilustraciones. Todo muy
completo...Tendré su pagina de consulta....Great, Great....
Reply
jorge
ene 2, 2019
https://www.naylampmechatronics.com/blog/34_Tutorial-LCD-conectando-tu-arduino-a-un-LCD1.html 21/23
5/6/2019 Tutorial LCD, conectando tu arduino a un LCD1602 y LCD2004
Buenas tardes, tengo unda duda. Cuandos display puedo conectar en un Arduino MEGA?
Reply
Jorge
may 26, 2019
Tantos como conjunto de pines para cada LCD tengas y ademas por I2C puedes
meterunos 128, creo, por puerto I2C. o sea una burrada.
Reply
Mitja Ščuka
feb 8, 2019
Thank's a lot..... I'm beginer... Your site help me a loootttt.... Have a nice day .. Mitja from
SLOVENIA
Reply
Pablo
abr 28, 2019
Hola,Estoy intentando escribir en la pantalla y no doy, aun con tus mismos ejemplos, no paso del
primero.Estoy usando un arduino UNO con una placa sunstar 2004 (20x4), con un bus de 4 bits,
tal cual los diagramas de arriba.Parecen activarse los caracteres de las lineas 1 y 3, que
corresponden con el 1111 1111 de la tabla de caracteres del principio, y son los únicos que parecen
ser afectados al mover el potenciómetro del contraste.Tengo que decir que no tengo la pantalla
soldada a los pines. El error puede deberse a un mal contacto de alguno de los bits de datos
durante una porción de segundo?Voy a seguir jugando a ver si consigo algo.Un saludo y a ver si
sabes ayudarme.Gracias!
Reply
Leave a Reply
* Name:
* E-mail:
(Not Published)
Website:
(Site url withhttp://)
* Comment:
Submit
https://www.naylampmechatronics.com/blog/34_Tutorial-LCD-conectando-tu-arduino-a-un-LCD1.html 22/23
5/6/2019 Tutorial LCD, conectando tu arduino a un LCD1602 y LCD2004
Información
Contacte con nosotros
Entrega
Condiciones de uso
Nosotros
Mi cuenta
Mis compras
Mis direcciones
Mis vales
Naylamp Mechatronics SAC., Almacén: Mz. E Lote 31 Urb. Ingeniería, Trujillo - Perú //// Horario de atención:
https://www.naylampmechatronics.com/blog/34_Tutorial-LCD-conectando-tu-arduino-a-un-LCD1.html 23/23