En este tutorial os voy a explicar de manera sencilla el circuito electrónico y qué código necesitamos para conectar una pantalla LCD de 16×2 a un Arduino UNO. Además para comprobar el correcto funcionamiento, mostraremos un pequeño texto de prueba en la pantalla.
Los materiales necesarios para el montaje son los siguientes:
- Arduino UNO
- Resistencia de 220 Ω
- Pantalla LCD de 16×2
- Potenciómetro de 10KΩ
Pantalla LCD de 16×2
Vamos a ver el patillaje de la pantalla LCD para entender el funcionamiento y qué necesitamos.
Pines:
- GND y VCC son respectivamente positivo y negativo. Lo conectaremos a 5V.
- Contrate. Conectando un potenciómetro de 10KΩ podremos regular el contraste de la pantalla LCD. Si no conectamos este pin directamente no veríamos nada.
- RS el selector del registro. Es para mandarle información al LCD de lo que se quiere hacer. Si deseamos mandarles comandos de control o mostrar caracteres en la pantalla.
- RW lo tendremos conectado a GND para indicarle en todo momento que queremos escribir.
- EN es enable. Es para activar que la pantalla reciba información.
- D0 a D7. Es un bus de datos de 8 bit pero nosotros solamente necesitamos 4 bits. Del D4 al D7. Por este bus enviaremos los datos a la pantalla.
- Blacklight son para la luz de fondo del LCD. Los conectaremos igual que GND y VCC.
Circuito de conexión de pantalla LCD Arduino
Como ya tenemos la información del patillaje, ya nos resulta muy sencillo realizar la conexión de la Pantalla LCD a Arduino.
Se conectaría como se ve en la siguiente imagen.
Código Arduino para display LCD de 16×2
El código es bastante simple. Primero seleccionamos la librería necesaria, LiquidCrystal e inicializamos el LCD con los pines del Arduino que vamos a utilizar. Después indicamos cuales son las dimensiones del LCD. Para finalizar seleccionamos en que columna y línea queremos escribir y el texto que queremos escribir.
Podemos descargar el código aquí y es el siguiente:
/** Mostrar información en una pantalla LCD de 16x2 **/ #include <LiquidCrystal.h> //Declarar LCD y pines LiquidCrystal lcd(7,6,5,4,3,2); void setup() { //Definir las dimensiones del LCD (16x2) lcd.begin(16,2); //Seleccionamos en que columna y en que linea empieza a mostrar el texto lcd.setCursor(0,0); //Mostramos el texto deseado lcd.print("Hola mundo"); lcd.setCursor(0,1); //Mostramos el texto deseado lcd.print("jorgesanz.es"); } void loop() { }
Resultado final
Para finalizar vamos a ver el resultado final juntándolo todo.
Felicitaciones. Si funcionó. El potenciometro de 10K preferiblemente de ajuste con mini destornillador y dejarlo ajustado a tu gusto.
Soy ingeniero mecánico y tengo pocos conocimientos de electrónica, ahora estoy entrando en el mundo Arduino. Estoy haciendo un proyecto en Arduino y necesito usar además de la pantalla LCD utilizar el pin 2 para interrupción. Se pueden usar otros pin de Arduino para conectar el LCD que no sean 7, 6, 5, 4, 3, 2?
hola RAMES, claro que si los puedes utilizar, y cambiar los pines que sean necesarios, si es en un arduino UNO los 13 ines digitales puedes utilizarlos y variarlos.
Sí, conectando un módulo I2C el cual utiliza solo dos pines del arduino para controlar la LCD
Soy ingeniero. Mecánico y tengo escasos conocimientos de electrónica. Estoy haciendo un proyecto con Arduino uno que utiliza una pantalla LCD además de interrupción por el pin 2. Necesito ayuda sobre si se pueden cambiar los pines de conección con el LCD pues necesito libre el pin 2. De antemano muchas gracias
Hola.
Perdón por tardar en contestar.
No lo he probado pero sí se debería poderse sin problema.
Seria modificar la línea LiquidCrystal lcd(7,6,5,4,3,2); en la que se indican los pines utilizados. Deberías cambiar el 2 por el pin que quieras utilizar de sustituto.
Muy buen aporte. Gracias por compartirlo.
Excelente Jorge !!! Muchas gracias 🙂
Yo quisiera conectar una LCD a un sensor shield v5, sin utilizar protoboard ¿me podrías ayudar?
Las conexiones que tiene la sensor shield v5 para conectar LCD es para otro tipo de LCD. Para 12864 que se usa por ejemplo en impresoras 3D. Si quieres usar una igual que la que tengo yo en este articulo podrías conectarla a sensor shield v5 por I2C. Aunque realmente, por I2C la puedes conectar también directamente al arduino sin shield. Para ello tienes o que comprar la pantalla directamente con el modulo I2C incorporado o comprarlo aparte y soldarlo.
Esta por ejemplo se podría
http://s.click.aliexpress.com/e/_s2GPFl
Alguien me puede recomendar un tecnico en mexico q pueda cambiar la pantalla de 4×20 de un scaner. Esta rota la pantalla y no se ven la informacion. Gracias
Gracias. me ha sido muy útil la información proporcionada.
Fue muy claro y correcto. ;D
Hola, buenas noches.
Excelente aporte, la explicación que das es de calidad, muy entendible a la primera y totalmente.
recomendaré ampliamente tu sitio web, a mis compañeros de curso.