Uso de Pantalla LCD con Arduino

25
24429
Una pantalla LCD son dispositivos diseñados para mostrar información en forma gráfica. LCD significa Liquid Crystal Display (Display de cristal líquido). La mayoría de las pantallas LCD vienen unidas a una placa de circuito y poseen pines de entrada/salida de datos. Como se podrán imaginar, Arduino es capaz de utilizar las pantallas LCD para desplegar datos.

 

Es extremadamente sencillo enviarle datos al circuito integrado de una pantalla LCD desde Arduino gracias a la librería LiquidCrystal que viene junto con Arduino IDE.

Pero, antes de pasar a la programación veamos un poco más del hardware que utiliza una pantalla LCD.

Recientemente traje 2 display LCD de 2 filas por 16 columnas. Esto quiere decir que podemos imprimir caracteres en 2 filas, en las cuales caben 16 caracteres.

2013-01-29-142

Estas pantallas que he comprado tienen un fondo azul y vienen con un LED de iluminación. Las letras son blancas y podemos desplegar cualquier tipo de texto.

6708_235836356531592_815315004_n

Este es un ejemplo muy sencillo de un mensaje impreso con mi Arduino Mega en la pantalla LCD. Como se puede apreciar, para su funcionamiento requiere que se hagan algunas conecciones.

A continuación les presento el PINOUT de una pantalla LCD como las que les he mostrado en este post:

Lcd_0

Estas pantallas constan de 16 pines. De izquierda a derecha, sus usos son los siguientes:

  • Pin 1 – VSS o GND
  • Pin 2 – VDD o alimentación (+5V)
  • Pin 3 – Voltaje de contraste. Se conecta a un potenciómetro.
  • Pin 4 – Selección de registro. Aquí se selecciona el dispositivo para su uso.
  • Pin 5 – Lectura/Escritura. Dependiendo del estado (HIGH o LOW), se podrá escribir o leer datos     en el LCD
  • Pin 6 – Enable. Es el pin que habilita o deshabilita el LCD.
  • Pin 7 hasta Pin 14 – Son los pines de datos por donde se envía o recibe información.
  • Pin 15 – El ánodo del LED de iluminación de fondo (+5v).
  • Pin 16 – El cátodo del LED de iluminación de fondo (GND).

Si contamos con una pantalla LCD y la queremos utilizar con Arduino, debemos hacer las siguientes conexiones:

lcd_schem

Esta configuración podrá ser usada con cualquier tipo de placa Arduino. Se debe hacer lo siguiente:

-Conseguir un potenciómetro de 10 K. Los potenciómetros tienen 3 patas. La de la derecha se conecta a 5V en la placa Arduino. La pata de la izquierda se conecta en el GND de Arduino. La pata del centro se conecta al tercer pin en el LCD (Voltaje de contraste).

  • Se conecta el pin 1 el LCD al GND de Arduino.
  • El pin 2 del LCD va a 5V en Arduino.
  • El pin 4 va al pin 12 de Arduino.
  • El pin 5 se conecta a GND.
  • El pin 6 del LCD va al pin 11 en Arduino.
  • Los pines 7, 8, 9 y 10 del LCD no se conectan.
  • Los pines 11, 12, 13 y 14 del LCD se conectan en el 5, 4, 3 y 2 del Arduino, respectivamente.
  • El pin 15 se conecta en 5V y el pin 16 se conecta en GND.

Una vez hecho esto, nos dirigimos a Arduino IDE. Vamos al menú Archivo/Ejemplos/LiquidCrystal/HelloWorld.

Arduino1

Nos aparecerá un código que podremos subir a nuestra placa de al instante. El código lo que hará es imprimir el mensaje “hello World!” en la fila 1. En la fila 2 aparecerán los segundos que han transcurrido desde que se inició la ejecución del código.

Para este ejemplo decidí utilizar mi Arduino Nano. Estoy llevando a cabo un proyecto donde necesito utilizar una pantalla LCD por lo que decidí aprovechar la oportunidad para escribir este post.

Me compré una placa perforada y soldé los pines de mi Arduino Nano para poder trabajar de manera más cómoda con la pantalla LCD.

2013-02-06-204

2013-02-06-205

2013-02-06-206 2013-02-06-209

Usted es libre de hacer el diseño que usted prefiera. Yo decidí adaptar la pantalla LCD a la placa perforada utilizando los filamentos que conforman un cable de red RJ45.

2013-02-06-210

Con unos 3 o 4 pies de cable RJ45 obtendrán una cantidad inmensa de jumpers. El RJ45 pose 8 filamentos que son muy útiles en proyectos de electrónica.

2013-02-06-211

Utilicé un cable chocolate para el contraste, 2 cables verdes para el enable y el read/write, 4 cables naranjas para los pines de datos, 3 cables blancos para el GND y 2 azules para los +5V.

Soldé todo a la placa perforada y agregué un trimmer como potenciómetro para el contraste.

2013-02-08-219 2013-02-08-220

Una vez hecho esto podemos subir el código de Hello World a Arduino o ver los resultados.

El video no me quedó con buena calidad, sin embargo el usuario es capaz de darse cuenta de como debe verse el resultado. Si el LCD no despliega información, pruebe con ajustar el potenciómetro (o trimmer) hasta hallar el contraste apropiado.

Espero sus comentarios.