La pantalla LCD 16x2 es la forma más fácil de que tu Arduino muestre texto: un mensaje, la lectura de un sensor o un menú. En esta guía te mostramos sus 16 pines, cómo conectarla al Arduino Uno, el código para tu primer mensaje y cómo resolver los problemas más comunes.
2 filas de 16
igual que el Arduino Uno
la librería viene en el IDE
¿Qué es la pantalla LCD 1602A?
El nombre lo dice todo: 16 caracteres por fila y 2 filas. Por eso también la verás como LCD 1602, LCD 2x16 o LCD 16x2: es la misma pantalla.
Por dentro tiene un controlador HD44780 (o uno compatible). Es el chip que entiende las órdenes del Arduino y dibuja cada letra con una cuadrícula de 5x8 puntos. Como es tan común, hay librerías listas y miles de proyectos que la usan.
La nuestra tiene fondo azul y letras blancas, con luz de fondo (backlight) para leerla en la oscuridad.
Sus 16 pines
Los pines se cuentan de izquierda a derecha, del 1 (VSS) al 16 (K). El nombre de cada uno está impreso en la placa.

| Pin | Nombre | Para qué sirve | Se conecta a |
|---|---|---|---|
| 1 | VSS | Tierra | GND |
| 2 | VDD | Alimentación | 5V |
| 3 | V0 | Contraste de las letras | Pin central del potenciómetro |
| 4 | RS | Indica si lo que llega es una orden o una letra | Pin 12 del Arduino |
| 5 | RW | Leer o escribir | GND (solo escribimos) |
| 6 | E | Enable: avisa que hay un dato listo | Pin 11 del Arduino |
| 7–10 | D0–D3 | Datos (solo en modo 8 bits) | Sin conectar |
| 11–14 | D4–D7 | Datos (en los dos modos) | Pines 5, 4, 3 y 2 del Arduino |
| 15 | A | Ánodo (+) de la luz de fondo | 5V con resistencia de 220 Ω |
| 16 | K | Cátodo (–) de la luz de fondo | GND |
¿4 bits u 8 bits? ¿Para qué sirven D0 a D3?
La pantalla puede recibir cada letra de dos formas: en 8 bits, usando los 8 pines de datos (D0 a D7) y enviando la letra completa de una vez, o en 4 bits, usando solo D4 a D7 y enviando la letra en dos mitades. Por eso, en modo 4 bits, D0 a D3 quedan sin conectar.
| Modo 4 bits | Modo 8 bits | |
|---|---|---|
| Pines de datos | D4 a D7 | D0 a D7 |
| Pines del Arduino que ocupa | 6 | 10 |
| Cómo envía cada letra | En 2 partes | De una vez |
| Llenar toda la pantalla (32 letras)* | unos 8 ms | unos 5 ms |
| Librería | La misma: LiquidCrystal | |
* Tiempos calculados, no medidos, a partir de las pausas que tiene el código de la librería LiquidCrystal con un Arduino Uno.
Si quieres probar el modo 8 bits, conecta también D0–D3 a cuatro pines libres y escríbelos en el código en orden: LiquidCrystal lcd(RS, E, D0, D1, D2, D3, D4, D5, D6, D7);. Por ejemplo: LiquidCrystal lcd(12, 11, 9, 8, 7, 6, 5, 4, 3, 2);.
Lo que necesitas
- Una pantalla LCD 16x2 1602A.
- Un Arduino Uno con su cable USB.
- Un potenciómetro o trimpot de 10 kΩ para el contraste.
- Una resistencia de 220 Ω para la luz de fondo.
- Una protoboard y cables jumper.
- Una tira de pines macho, si tu pantalla no los trae soldados.
Cómo conectarla al Arduino Uno

Te recomendamos armarlo en este orden:
- Rieles de alimentación: lleva el 5V y el GND del Arduino a los rieles de la protoboard.
- Alimentación de la pantalla: VSS a GND y VDD a 5V.
- Luz de fondo: A a 5V pasando por la resistencia de 220 Ω, y K a GND. Conecta el Arduino al USB: la pantalla debe encenderse en azul. Si no enciende, revisa estos cables antes de seguir.
- Contraste: las patas de los extremos del potenciómetro van a 5V y GND, y la del centro a V0. Gíralo hasta que veas una fila de cuadros: así sabes que el contraste funciona.
- RW a GND.
- Señales: RS al pin 12, E al 11, D4 al 5, D5 al 4, D6 al 3 y D7 al 2.
Tu primer mensaje
Abre el Arduino IDE, copia este código y súbelo a tu placa. La librería LiquidCrystal ya viene instalada.
#include <LiquidCrystal.h>
// LiquidCrystal(RS, E, D4, D5, D6, D7)
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
void setup() {
lcd.begin(16, 2); // 16 columnas, 2 filas
lcd.print("Hola Nanoparuro!"); // fila 1
}
void loop() {
lcd.setCursor(0, 1); // columna 0, fila 2
lcd.print("Segundos: ");
lcd.print(millis() / 1000); // tiempo desde que encendió
delay(200);
}
Si todo está bien, verás "Hola Nanoparuro!" en la primera fila y un contador de segundos en la segunda. Si no se ve nada, gira el potenciómetro de contraste.
Funciones que más vas a usar
| Función | Qué hace |
|---|---|
lcd.print("texto") | Escribe texto o números donde está el cursor. |
lcd.setCursor(columna, fila) | Mueve el cursor. Se cuenta desde 0: la primera fila es 0 y la segunda es 1. |
lcd.clear() | Borra toda la pantalla y vuelve al inicio. |
lcd.cursor() / lcd.blink() | Muestra el cursor como una raya o un bloque que parpadea. |
lcd.scrollDisplayLeft() | Desplaza todo el texto una posición a la izquierda. Sirve para mensajes largos. |
lcd.createChar(n, dibujo) | Crea hasta 8 caracteres propios, como un corazón, una flecha o una letra con tilde. |
Problemas comunes

Cuadros en la fila 1
La pantalla tiene energía y el contraste está bien, pero no se inició: no le llegan las órdenes del Arduino. Revisa los cables de RS, E y D4–D7, que RW esté a GND, que hayas subido el código y que sus números de pines coincidan con tu conexión.
Solo luz azul, sin nada
Casi siempre es el contraste. Gira el potenciómetro de un extremo al otro, despacio. Revisa también que el pin central vaya a V0.
Letras raras o que aparecen y desaparecen
Suele ser un mal contacto. Revisa que los pines estén bien soldados y que los cables estén firmes en la protoboard.
Preguntas frecuentes
¿Puedo usar otros pines del Arduino?
Sí. Puedes usar cualquier pin digital. Solo cambia los números en LiquidCrystal lcd(12, 11, 5, 4, 3, 2); respetando el orden: RS, E, D4, D5, D6, D7.
¿Puedo quitar el potenciómetro?
Se puede reemplazar por una resistencia fija entre V0 y GND, pero el valor correcto cambia de una pantalla a otra. Por eso te recomendamos el potenciómetro: con él ajustas el contraste de tu pantalla en segundos.
¿Cómo escribo la ñ, las tildes o el símbolo de grados?
La pantalla no entiende las tildes que escribes en el código. En la tabla de caracteres estándar del controlador HD44780 (la "A00"), lcd.write(0xEE); muestra la ñ y lcd.write(0xDF); muestra el símbolo de grados (°), útil para un termómetro. Si en tu pantalla aparece otro símbolo, o necesitas letras con tilde, dibújalas con lcd.createChar().
¿Te faltan pines? Prueba la versión I2C
La conexión de esta guía usa 6 pines del Arduino. Si tu proyecto lleva muchos sensores o motores, existe la misma pantalla con un módulo I2C soldado atrás. Con él solo necesitas 4 cables (GND, VCC, SDA y SCL), y el potenciómetro de contraste ya viene incluido.
Pronto publicaremos una guía completa para usarla.
Ver LCD 16x2 con I2C Solo el módulo I2C¿Listo para mostrar tu primer mensaje? Encuentra tu pantalla LCD 16x2 en Nanoparuro.
Ver pantalla LCD 16x2 Más proyectos con Arduino
Pantalla LCD 16x2 (1602A) con Arduino: conexión, contraste y primer mensaje