Arduino lcd 2x16

Te presentamos un ejercicio sencillo de arduino lcd 2x16 en donde veremos lo que se puede visualizar en dos filas y 16 columnas, además de mostrar letras y números, se puede mostrar caracteres especiales, o símbolos realizados para propósitos generales de nuestras aplicaciones, con opciones de imprimir casi cualquier cosa en poco espacio.

A continuación veremos lo ejemplos que trae por defecto el software de arduino, la conexión todos explicados en un solo código y de forma interactiva para poderlos entender un poco mejor.

Materiales

Se describen los materiales a utilizar:
Cantidad Elemento
1 Arduino uno, nano, leonardo o de preferencia
1 LCD 2 x 16
1 Resistencia de 1kΩ
8 Cables
1 Potenciómetro de 5kΩ

Conexión y circuito

El circuito se describe en la siguiente imagen, se deja el esquema y la conexión de cada elemento. Tabla de conexión de los pines
Pines del LCD Pines del Arduino
rs 12
en 11
D4 5
D5 4
D6 3
D7 2

Código

Dejo el código en github para que los descargues o clones en tu repositorio. Código en GitHub
//Incluimos la libreria del LCD
#include <LiquidCrystal.h>

 /** Iniciamos las conexiones del LCD
 * LCD RS al pin digital 12
 * LCD Enable al pin digital 11
 * LCD D4 al pin digital pin 5
 * LCD D5 al pin digital pin 4
 * LCD D6 al pin digital pin 3
 * LCD D7 al pin digital pin 2
 * LCD R/W al pin GND
 * LCD VSS al pin GND
 * LCD VCC al pin 5V*/
 
//pines del lcd     rs, en, D4, D5, D6, D7
//                   |   |  |   |   |   |
//pines del arduino 12, 11, 5   4   3   2
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);


void setup() {
  
  //Seteamos en el lcd el número de filas y columnas
  lcd.begin(16, 2);
  
  //Imprimimos un mensaje
  lcd.print("Hola...");
  delay(2000);
}

void loop() {
  //Limpiamos el lcd
  lcd.clear();
  lcd.print("Vamos a hacer");
  lcd.setCursor(0,1);
  lcd.print("unas pruebas");
  delay(2000);
  lcd.clear();
  
  lcd.print("del uso del lcd en");
  lcd.setCursor(0,1);
  lcd.print("donde vemos las funciones");
  delay(2000);
  lcd.clear();
  
  lcd.print("y su uso");
  delay(3000);
  lcd.clear();

  //Pruebas de display
  lcd.print("1. Display");
  lcd.noDisplay();
  delay(1000);
  lcd.display();
  delay(1000);
  lcd.clear();
  delay(200);
  
  //Pruebas de blink
  lcd.print("2. Blink");
  lcd.setCursor(0,1);
  lcd.blink();
  delay(3000);
  lcd.noBlink();
  delay(3000);
  lcd.clear();
  delay(200);
  
  //Prueba del cursor
  lcd.print("3. Cursor");
  lcd.setCursor(0,1);
  lcd.cursor();
  delay(3000);
  lcd.noCursor();
  delay(3000);
  lcd.clear();
  delay(200);

  //Impresion de caracteres
  lcd.print("3. Caracter");
  lcd.setCursor(0,1);

  byte armsDown[8] = {
    0b00100,
    0b01010,
    0b00100,
    0b00100,
    0b01110,
    0b10101,
    0b00100,
    0b01010
  };
  
  byte armsUp[8] = {
    0b00100,
    0b01010,
    0b00100,
    0b10101,
    0b01110,
    0b00100,
    0b00100,
    0b01010
  };
  
  //Asignacion e impresion de caracteres
  lcd.createChar(1, armsDown);
  lcd.createChar(2, armsUp);
  lcd.setCursor(0, 1);
  lcd.write(1);
  delay(2000);
  lcd.setCursor(0, 1);
  lcd.write(2);
  delay(2000);
}

En el código se muestran varias partes de los ejemplos, en donde a continuación explicaremos cada uno de ellos y su función:

  1. Display: permite habilitar o deshabilitar el lcd, utilizado para el ahorro de energía.
  2. Blink: Permite colocar en una celda un cuadro que parpadea cada 1/2 segundo.
  3. Cursor: Permite colocar una linea al piso que parpadea en una de las celdas.
  4. Caracter: permite adicionar un carácter especial. Se explicara en otro post.

Instrucciones

  • #include <LiquidCrystal.h>: permite invocar la librería para el manejo del lcd.
  • LiquidCrystal lcd(12, 11, 5, 4, 3, 2): Se realiza la asignación de los pines al lcd.
  • lcd.begin(16, 2): Permite configurar el tamaño del lcd.
  • lcd.print("Hola..."): permite imprimir un texto en el lcd.
  • lcd.clear(): Permite limpiar lo escrito en el lcd.
  • lcd.setCursor(0,1): Permite posicionar el cursor en una celda del lcd en especifico.
Este es un pequeño ejemplo del uso del lcd, deja tus comentario o inquietudes.

Comentarios

Para dejar el comentario solo necesitamos tu correo que registraste en la pagina, pero si aun no te haz registrado se creara el usuario automaticamente.

Detalle contenido

Arduino lcd 2X16
Generic placeholder image
Oscar Fernandez Alzate

08, Octubre 2015

4619
Categorías
ARDUINO