Tutorial LCD, Conectando Tu Arduino A Un LCD1602 y LCD2004
Tutorial LCD, Conectando Tu Arduino A Un LCD1602 y LCD2004
Buscar
0
S/. 0,00
CATEGORÍAS
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/22
9/9/2018 Tutorial LCD, conectando tu arduino a un LCD1602 y LCD2004
PROMOCIONES ESPECIALES
ETIQUETAS
sensor robot LED cnc regulador driver infrarrojo Servo LCD rele
NOVEDADES
S/. 35,00
Raspberry Pi Zero W
El Raspberry Pi más pequeño y más económico pero con la misma utilidad...
S/. 105,00
S/. 35,00
Raspberry Pi Zero
El Raspberry Pi más pequeño y más económico pero con la misma utilidad...
S/. 70,00
Pulsioxímetro MAX30102
Construye tu propio pulsioxímetro con la ayuda de este magnífico sensor.
S/. 34,00
https://www.naylampmechatronics.com/blog/34_Tutorial-LCD-conectando-tu-arduino-a-un-LCD1.html 2/22
9/9/2018 Tutorial LCD, conectando tu arduino a un LCD1602 y LCD2004
Ball caster acero D12mm
Ball caster de gran resistencia, ideal para proyectos de robótica móvil...
S/. 10,00
Voltimetro/Amperimetro DC 100A
Medidor de bajo costo de voltaje y corriente DC hasta 100 amperios
S/. 75,00
https://www.naylampmechatronics.com/blog/34_Tutorial-LCD-conectando-tu-arduino-a-un-LCD1.html 3/22
9/9/2018 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.
https://www.naylampmechatronics.com/blog/34_Tutorial-LCD-conectando-tu-arduino-a-un-LCD1.html 4/22
9/9/2018 Tutorial LCD, conectando tu arduino a un LCD1602 y LCD2004
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/22
9/9/2018 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/22
9/9/2018 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/22
9/9/2018 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/22
9/9/2018 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/22
9/9/2018 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/22
9/9/2018 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/22
9/9/2018 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/22
9/9/2018 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/22
9/9/2018 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/22
9/9/2018 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/22
9/9/2018 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/22
9/9/2018 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/22
9/9/2018 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/22
9/9/2018 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
23 ?? 0 ?? 0 Compartir 1
https://www.naylampmechatronics.com/blog/34_Tutorial-LCD-conectando-tu-arduino-a-un-LCD1.html 20/22
9/9/2018 Tutorial LCD, conectando tu arduino a un LCD1602 y LCD2004
4 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
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
Leave a Reply
* Name:
* E-mail:
(Not Published)
Website:
(Site url withhttp://)
* Comment:
https://www.naylampmechatronics.com/blog/34_Tutorial-LCD-conectando-tu-arduino-a-un-LCD1.html 21/22
9/9/2018 Tutorial LCD, conectando tu arduino a un LCD1602 y LCD2004
Submit
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:
Email: [email protected]
https://www.naylampmechatronics.com/blog/34_Tutorial-LCD-conectando-tu-arduino-a-un-LCD1.html 22/22