En este pequeño tutorial voy a explicar cómo
conectar un display LCD de 16
columnas y 2 filas a una placa Arduino UNO.
Estamos trabajando con un display LCD compatible con el módulo HD44780 de
Hitachi. Soporta 132 caracteres alfanuméricos y 32 de control. Las líneas de control
que posee se encuentran en los pines 4, 5 y 6. Cuando la línea Enable Signal pasa de
1 a 0, el controlador del LCD leerá el resto de líneas, ya sean de datos o de control.
Cuando R/W está a 0, se podrá escribir sobre el LCD y, cuando está a 1, se podrá leer
del LCD. Si RS está a nivel bajo, es decir, a 0 voltios, el dato es tratado como un
comando o una orden sobre el LCD. Sin embargo, si está a nivel alto, el dato enviado
es el texto a mostrar en el display LCD.
Lo primero que tenemos que hacer es mirar las especificaciones del display en el
datasheet que nos proporciona el fabricante para poder ver los pines que
corresponden a cada una de las entradas. Como ya se ha mencionado anteriormente,
nuestro display LCD es compatible con HD44780, y los pines realizan las siguientes
funciones:
En este caso, utilizaremos el display en modo 4 bits, es decir, D7, D6, D5 y D4. Los
data buses restantes simplemente se dejarán al aire, es decir, no se conectarán a
nada. Este modelo de display no tiene iluminación de fondo, es decir, no se verá en la
oscuridad. Es por esto por lo que se han dejado los pines 15 y 16 al aire, ya que,
aunque los conectáramos, no harían nada. Además, se ha utilizado un potenciómetro
para controlar el contraste de la pantalla. Al variar el valor del potenciómetro, aumenta
o disminuye el contraste.
Código en VBB:
import [Link].*;
import [Link];
public class Nano extends Arduino
{
LiquidCrystal lcd = new LiquidCrystal(this, 11, 12, 5, 4, 3, 2);
public void setup()
{
[Link](16, 2); //Inicializo el display LCD (columnas, filas)
}
public void loop()
{
[Link](0, 0); /*Fijo el cursor para escribir en la primera fila, primera columna*/
[Link]("HOLA MUNDO!");
[Link](0, 1); /*Fijo el cursor para escribir en la segunda fila, primera columna*/
[Link]("PALOMOS DE 5to");
delay(2000); /*Delay 2 segundos en los que la pantalla se mantendrá encendida*/
[Link](); //Limpio el display
delay(2000); /*Delay de 2 segundos en los que la pantalla se mantendrá apagada*/
}