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
CATEGORAS
All Blog News Tutorial LCD, conectando tu arduino a un LCD1602 y LCD2004
ARTCULOS POPULARES
Tutorial trasmisor de celda de carga HX711, Balanza Digital ago 23, 2015
Con guracin del mdulo bluetooth HC-05 usando comandos AT ago 08, 2015
ARTCULOS RECIENTES
http://www.naylampmechatronics.com/blog/34_Tutorial-LCD-conectando-tu-arduino-a-un-LCD1.html 1/17
16/7/2017 Tutorial LCD, conectando tu arduino a un LCD1602 y LCD2004
PROMOCIONES ESPECIALES
Mdulo PIR HC-SR501
Con este mdulo podrs detectar...
ETIQUETAS
sensor robot cnc Servo infrarrojo LED LCD driver Fuente cable
NOVEDADES
Piezo Buzzer activo 12mm
Agrega alertas o efectos de sonido a tus proyectos
S/. 1,00
S/. 7,00
S/. 70,00
S/. 12,00
http://www.naylampmechatronics.com/blog/34_Tutorial-LCD-conectando-tu-arduino-a-un-LCD1.html 2/17
16/7/2017 Tutorial LCD, conectando tu arduino a un LCD1602 y LCD2004
Sensor de presin BMP280
Sensor de presin baromtrica BMP280 de alta precisin y de bajo consumo...
S/. 15,00
S/. 28,00
S/. 50,00
Shield Relay v2
La manera ms sencilla y rpida de controlar cargas de alta corriente...
S/. 45,00
http://www.naylampmechatronics.com/blog/34_Tutorial-LCD-conectando-tu-arduino-a-un-LCD1.html 3/17
16/7/2017 Tutorial LCD, conectando tu arduino a un LCD1602 y LCD2004
http://www.naylampmechatronics.com/blog/34_Tutorial-LCD-conectando-tu-arduino-a-un-LCD1.html 4/17
16/7/2017 Tutorial LCD, conectando tu arduino a un LCD1602 y LCD2004
El LCD tiene una memoria interna en donde almacena todos sus caracteres alfanumricos,
los cuales podemos extender en ocho caracteres personalizados adicionales.
Los caracteres soportados por la mayora de modelos de LCD son los siguientes:
http://www.naylampmechatronics.com/blog/34_Tutorial-LCD-conectando-tu-arduino-a-un-LCD1.html 5/17
16/7/2017 Tutorial LCD, conectando tu arduino a un LCD1602 y LCD2004
http://www.naylampmechatronics.com/blog/34_Tutorial-LCD-conectando-tu-arduino-a-un-LCD1.html 6/17
16/7/2017 Tutorial LCD, conectando tu arduino a un LCD1602 y LCD2004
Para la comunicacin del LCD y un controlador utiliza un bus de 8 datos, pero se puede
configurar para trabajar con un buz de 4 datos. Tambin usa pines de control RS (chip
select) RW (lectura/escritura) y E (enable).
Para controlar el contrastes usa una entrada analgica VEE el cual por lo general se usa
un potencimetro para poder variar el contraste, y los LCD q traen Backlight tiene dos
pines al final Led+ (A) y Led- (K) los cules se pueden alimentar directamente a 5V o a
travs de una resistencia si se tratase de un LED, variando su resistencia se pude variar la
intensidad de luz.
VSS GND
VDD 5V
VEE Potencimetro
RS D8
RW GND
EN D9
11. D4 D4
12. D5 D5
13. D6 D6
14. D7 D7
http://www.naylampmechatronics.com/blog/34_Tutorial-LCD-conectando-tu-arduino-a-un-LCD1.html 7/17
16/7/2017 Tutorial LCD, conectando tu arduino a un LCD1602 y LCD2004
http://www.naylampmechatronics.com/blog/34_Tutorial-LCD-conectando-tu-arduino-a-un-LCD1.html 8/17
16/7/2017 Tutorial LCD, conectando tu arduino a un LCD1602 y LCD2004
El IDE de Arduino ya viene con una librera que nos permite manejar diferentes tamaos
de LCDs, La documentacin completa la pueden encontrar en la pgina 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 nmero de columnas (cols) y filas (rows)
del LCD.
clear()
Borra la pantalla LCD y posiciona el cursor en la esquina superior izquierda (posicin
(0,0)).
setCursor(col, row)
Posiciona el cursor del LCD en la posicin indicada por col y row (x,y); es decir,
establecer la ubicacin en la que se mostrar posteriormente texto escrito para la
pantalla LCD.
write()
Escribir un carcter en la pantalla LCD, en la ubicacin 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.
#include <LiquidCrystal.h>
//Crear el objeto LCD con los nmeros correspondientes (rs, en, d4, d5, d6, d7)
LiquidCrystal lcd(8, 9, 4, 5, 6, 7);
void setup() {
// Inicializar el LCD con el nmero 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 posicin(columna:0) de la segunda lnea(fila:1)
lcd.setCursor(0, 1);
// Escribimos el nmero de segundos trascurridos
lcd.print(millis()/1000);
lcd.print(" Segundos");
delay(100);
}
Como se observa con la funcin printf() escribimos el texto, y con setCursor(x,y) indicamos
la pocin en donde deseamos que se escriba el texto.
Despus de cargar, en su LCD deben obtener el siguiente resultado
http://www.naylampmechatronics.com/blog/34_Tutorial-LCD-conectando-tu-arduino-a-un-LCD1.html 10/17
16/7/2017 Tutorial LCD, conectando tu arduino a un LCD1602 y LCD2004
Para el caso del LCD de 20x4 tienen que especificar este tamao cundo inicializan el LCD.
void setup() {
// Inicializar el LCD con el nmero 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 posicin (columna:0) de la segunda lnea(fila:1)
lcd.setCursor(0, 1);
// Escribimos el nmero de segundos trascurridos
lcd.print(millis()/1000);
lcd.print(" segundos");
delay(100);
http://www.naylampmechatronics.com/blog/34_Tutorial-LCD-conectando-tu-arduino-a-un-LCD1.html 11/17
16/7/2017 Tutorial LCD, conectando tu arduino a un LCD1602 y LCD2004
#include <LiquidCrystal.h>
//Crear el objeto LCD con los nmeros correspondientes (rs, en, d4, d5, d6, d7)
LiquidCrystal lcd(8, 9, 4, 5, 6, 7);
void setup() {
// Inicializar el LCD con el nmero de columnas y filas del LCD
lcd.begin(16, 2);
// Escribimos el Mensaje en el LCD en una posicin 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 posicin a la izquierda
lcd.scrollDisplayLeft();
delay(250);
}
#include <LiquidCrystal.h>
//Crear el objeto LCD con los nmeros correspondientes (rs, en, d4, d5, d6, d7)
LiquidCrystal lcd(8, 9, 4, 5, 6, 7);
void setup() {
// Inicializar el LCD con el nmero 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 posicin de la primera fila
lcd.setCursor(0,0);
lcd.print("ADC:");
lcd.print(sen1);
lcd.print(" ");
// Cursor en la 11 posicin de la primera fila
lcd.setCursor(10,0);
lcd.print("V:");
lcd.print(sen2,1);//1 decimal
lcd.print("V ");
// Cursor en la primera posicin 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 posicin de la 2 fila
lcd.setCursor(10,1);
lcd.print("t:");
lcd.print(tiempo);
lcd.print(" s ");
delay(200);
http://www.naylampmechatronics.com/blog/34_Tutorial-LCD-conectando-tu-arduino-a-un-LCD1.html 13/17
16/7/2017 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 ms espacio para
mostrar los valores.
#include <LiquidCrystal.h>
//Crear el objeto LCD con los nmeros correspondientes (rs, en, d4, d5, d6, d7)
LiquidCrystal lcd(8, 9, 4, 5, 6, 7);
void setup() {
// Inicializar el LCD con el nmero 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 posicin de la primera fila
lcd.setCursor(0,0);
lcd.print("ADC: ");
lcd.print(sen1);
lcd.print(" ");
// Cursor en la 1 posicin de la 2 fila
lcd.setCursor(0,1);
lcd.print("Voltaje: ");
lcd.print(sen2);
lcd.print(" V ");
// Cursor en la primera posicin de la 3 fila
lcd.setCursor(0,2);
lcd.print("Temperatura:");
lcd.print(sen3); //1 decimal
lcd.print(" 337C "); // "337" -> ""
// Cursor en la 1 posicin de la 4 fila
lcd.setCursor(0,3);
lcd.print("tiempo: ");
lcd.print(tiempo);
lcd.print(" s ");
http://www.naylampmechatronics.com/blog/34_Tutorial-LCD-conectando-tu-arduino-a-un-LCD1.html 14/17
16/7/2017 Tutorial LCD, conectando tu arduino a un LCD1602 y LCD2004
delay(200);
http://www.naylampmechatronics.com/blog/34_Tutorial-LCD-conectando-tu-arduino-a-un-LCD1.html 15/17
16/7/2017 Tutorial LCD, conectando tu arduino a un LCD1602 y LCD2004
http://www.naylampmechatronics.com/blog/34_Tutorial-LCD-conectando-tu-arduino-a-un-LCD1.html 16/17
16/7/2017 Tutorial LCD, conectando tu arduino a un LCD1602 y LCD2004
#include <LiquidCrystal.h>
//Crear el objeto LCD con los nmeros 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,
http://www.naylampmechatronics.com/blog/34_Tutorial-LCD-conectando-tu-arduino-a-un-LCD1.html 17/17