Nos encontramos con pantallas LCD en todas partes a nuestro alrededor. Computadoras, calculadoras, televisores, teléfonos móviles, relojes digitales usan algún tipo de pantalla para mostrar la hora.
Un LCD es un módulo de pantalla electrónica que utiliza cristal líquido para producir una imagen visible. La pantalla LCD de 16×2 es un módulo muy básico que se usa comúnmente en DIYs y circuitos. The 16×2 translates o a display 16 characters per line in 2 such lines. In this LCD each character is displayed in a 5×7 pixel matrix.
16X2 LCD pinout diagram
Pin No. |
Function |
Name |
1 |
Ground (0V) |
Ground |
2 |
Supply voltage; 5V (4.7V – 5.3V) |
Vcc |
3 |
Contrast adjustment; the best way is to use a variable resistor such as a potentiometer. The output of the potentiometer is connected to this pin. Gire la perilla del potenciómetro hacia adelante y hacia atrás para ajustar el contraste de la pantalla LCD. |
Vo / V |
4 | Selecciona registro de comandos cuando se baja, y el registro de datos cuando el alto | RS (Register Select ) |
5 | Baja a escribir en el registro; Alto a leer desde el registro | Lectura/escritura |
6 | Envía datos a los pines de datos cuando un alto a bajo del pulso es dado; Se requiere un empuje de tensión adicional para ejecutar la instrucción y se utiliza la señal EN(enable) para este propósito. Por lo general, establecemos en=0, cuando queremos ejecutar la instrucción, la hacemos alta en=1 durante algunos milisegundos. Después de esto, de nuevo lo hacemos tierra, es decir, en = 0. | Enable |
7 | 8-bit data pins | DB0 |
8 | DB1 | |
9 | DB2 | |
10 | DB3 | |
11 | DB4 | |
12 | DB5 | |
13 | DB6 | |
14 | DB7 | |
15 | Retroiluminación VCC (5V) | Led+ |
16 | Tierra de Retroiluminación (0V) | Led- |
RS (Selección de registro)
Una pantalla LCD de 16X2 tiene dos registros, a saber, comando y datos. El registro select se utiliza para cambiar de un registro a otro. RS = 0 para el registro de comandos, mientras que RS = 1 para el registro de datos.Registro de comandos: El registro de comandos almacena las instrucciones de comando dadas a la pantalla LCD. Un comando es una instrucción dada a LCD para hacer una tarea predefinida. Ejemplos como:
- inicializarlo
- limpiar su pantalla
- establecer la posición del cursor
- controlar la pantalla, etc.
El procesamiento de comandos se realiza en el registro de comandos.Registro de datos: El registro de datos almacena los datos que se mostrarán en la pantalla LCD. Los datos son el valor ASCII del carácter que se mostrará en la pantalla LCD. Cuando enviamos datos a LCD, estos van al registro de datos y se procesan allí. Cuando RS=1, se selecciona registro de datos.
Important command codes for LCD
Sr.No. | Hex Code | Command to LCD instruction Register |
1 | 01 | Clear display screen |
2 | 02 | Return home |
3 | 04 | Decrement cursor (shift cursor to left) |
4 | 06 | Increment cursor (shift cursor to right) |
5 | 05 | Shift display right |
6 | 07 | Shift display left |
7 | 08 | Display off, cursor off |
8 | 0A | Display off, cursor on |
9 | 0C | Display on, cursor off |
10 | 0E | Display on, cursor blinking |
11 | 0F | Display on, cursor blinking |
12 | 10 | Shift cursor position to left |
13 | 14 | Shift cursor position to right |
14 | 18 | Shift the entire display to the left |
15 | 1C | Shift the entire display to the right |
16 | 80 | Force cursor to beginning ( 1st line) |
17 | C0 | Force cursor to beginning ( 2nd line) |
18 | 38 | 2 lines and 5×7 matrix |
Mostrar caracteres personalizados en LCD de 16X2
Generar caracteres personalizados en LCD no es muy difícil. Requiere el conocimiento sobre la memoria de acceso aleatorio generada a medida (CG-RAM) de la pantalla LCD y el controlador de chip LCD. La mayoría de las pantallas LCD contienen controlador Hitachi HD4478.
CG-RAM es el componente principal para crear caracteres personalizados. Almacena los caracteres personalizados una vez declarados en el código. El tamaño de CG-RAM es de 64 bytes, lo que ofrece la opción de crear ocho caracteres a la vez. Cada carácter tiene un tamaño de ocho bytes.
La dirección CG-RAM comienza desde 0x40 (Hexadecimal) o 64 en decimal. Podemos generar caracteres personalizados en estas direcciones. Una vez que generamos nuestros caracteres en estas direcciones, podemos imprimirlos simplemente enviando comandos a la pantalla LCD. Las direcciones de caracteres y los comandos de impresión se encuentran a continuación.
En la tabla de arriba puede ver las direcciones de inicio de cada carácter con sus comandos de impresión.
El primer carácter se genera en la dirección 0x40 a 0x47 y se imprime en la pantalla LCD con solo enviar un comando 0.
El segundo carácter se genera en la dirección 0x48 a 0x55 y se imprime enviando un comando 1.
Cómo generar caracteres personalizados en CG-RAM
En pantallas LCD, cada carácter está en una matriz de 5×8. Donde 5 es el número de columnas y 8 es el número de filas.
Este es un ejemplo sencillo de cómo crear la letra ‘b’ en CG-RAM.
La matriz para generar ‘b’ es char b = {0x10,0x10,0x16,0x19,0x11,0x11,0x1E}; Es decir,
- Dirección de envío a la que desea crear el carácter.
- Ahora crea tu personaje en esta dirección. Envíe los valores de matriz de caracteres’ b ‘ definidos arriba uno por uno al registro de datos de LCD.
- Para imprimir el carácter generado a 0x40. Enviar el comando 0 al registro de comandos de la pantalla LCD. La siguiente tabla explicaría esto más claramente
La interfaz de una pantalla LCD de 16X2 con Arduino
Los módulos LCD forman un elemento muy importante en muchos diseños de sistemas integrados basados en Arduino para mejorar la interfaz de usuario del sistema. La interfaz con Arduino le da al programador más libertad para personalizar el código fácilmente. Cualquier placa Arduino, una pantalla LCD de 16X2, cables de puente y una tabla de cortar el pan son suficientes para construir el circuito. La interfaz de Arduino a la pantalla LCD a continuación.
Código fuente para 16X2LCD y Arduino.
Mostrar el brillo del LED en una pantalla LCD de 16×2
La combinación de una pantalla LCD y Arduino produce varios proyectos, el más simple es la pantalla LCD para mostrar el brillo del LED. Todo lo que necesitamos para este circuito es un LCD, Arduino, tabla de cortar el pan, una resistencia, potenciómetro, LED y algunos cables de puente. Las conexiones de circuito están abajo.
El proyecto detallado está disponible en mostrar brillo de un LED en una pantalla LCD
Este artículo se publicó por primera vez en 21 de noviembre de 2016 y se actualizó recientemente el 31 de julio de 2020.