Pantallas LCD con Arduino

En esta sesión vamos a utilizar un componente que nos va a permitir cambiar la forma en la que podemos visualizar datos de nuestros programas en Arduino, y de esta forma no tener que utilizar el monitor serie. Para ello utilizamos un componente denominado actuador LCD (Liquid Cristal Display). Se trata de un actuador que va a trabajar como output en nuestro montaje.

Estos componentes suelen necesitar de un trabajo previo de soldadura puesto que para utilizarlos tenemos que soldar una hilera de pines “macho” para que de esta forma podamos luego conectar nuestros cables desde el LCD hacia Arduino. Podéis ver un video de cómo hacerlo en el siguiente enlace: https://goo.gl/tJKtgl

Para conectar el actuador LCD tal y como podemos ver en la imagen siguiente realizamos las siguientes conexiones:

  • Entradas del LCD 2,3,4,5,10,12, empezando a contar los pines del LCD por la derecha, a las salidas digitales del Arduino 2,3,4,5,11,12.
  • Entradas 0,11,15 del LCD a GND.
  • Entrada 1 del LCD a VCC (5V) con una resistencia por el medio y entrada 14 sin resistencia.
  • Montamos un potenciómetro con su salida de datos a la entrada 13 del LCD (que nos servirá para variar la intensidad de la luz de nuestro LCD.

 

Una vez tenemos el montaje realizado, vamos a empezar con la programación. Para ello, en esta ocasión utilizaremos la librería LiquidCrystal, de la cual utilizaremos las siguientes funciones para visualizar datos en la pantalla:

  • LiquidCrystal lcd(12, 11, 5, 4, 3, 2): antes de la función setup(). Con esta instrucciones creamos el objeto “lcd” que incluirá todas las funciones que vamos a comentar a continuación. Los números son para indicarle a la librería cuales son las salidas digitales de Arduino en las que hemos conectado los cables desde el LCD.
  • lcd.begin(): para inicializar las posiciones de nuestra pantalla. Le decimos que tendrá 16 caracteres, en 2 filas.
  • lcd.setCursor(): la usamos antes de visualizar algo, para situar el cursor en la posición deseada. El primer valor será para colocar el cursor en la posición 0-15 y el segundo para decirle si es en la línea 1 o 2. La línea 1 es la posición 0, y la línea 2 la posición 1.
  • lcd.print(): la utilizaremos para visualizar los datos deseados.

Para comprobar el perfecto funcionamiento vamos a cargar de la librería de EJEMPLOS-LIQUIDCRYSTAL-HELLO WORLD, donde podemos modificar el mensaje de la función lcd.print() y modificar la posición de salida con la función lcd.setCursor().

Éste es el código original del proyecto:

// include the library code:
#include <LiquidCrystal.h>
// initialize the library with the numbers of the interface pins
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
void setup() {
// set up the LCD’s number of columns and rows:
lcd.begin(16, 2);
// Print a message to the LCD.
lcd.print(“hello, world!”);
}
void loop() {
// set the cursor to column 0, line 1
// (note: line 1 is the second row, since counting begins with 0):
lcd.setCursor(0, 1);
// print the number of seconds since reset:
lcd.print(millis() / 1000);
}

Ahora que ya sabemos como sacar datos por el LCD, os retamos a que podáis utilizarlas incorporando nuevos componentes. Por ejemplo, montar un servo que gire de 0 a 180 y al revés, visualizando por pantalla la posición del servo en cada momento.

Para finalizar, os dejamos con Jose Bonafonte que nos explicará el proceso de montaje así como la programación del LCD.

 

 

 

Deja un comentario

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