En este tutorial, se va a mostrar cómo conectar una pantalla LCD 1602A a una placa Arduino UNO para mostrar texto por pantalla.
Este es uno de los primeros proyectos que he llevado a cabo. Es bien sencillo y necesita poco material y nada caro.
Material usado con el 1602A
1xPantalla LCD 1602A
1xPlaca Arduino UNO
1xCable USB
Cables
1xpotenciómetro 50kohmnios
16x pines macho 2.54 mm
1xbobina de estaño
1x soldador
Primero de todo observaremos la serigrafía escrita en los pines de nuestra pantalla, siendo la siguiente:
- VSS que es el pin de negativo o masa o 0 volts o GND.
- VDD es la alimentación principal de la pantalla y el chip, lleva 5 voltios (recomendable ponerle en serie una resistencia para evitar daños, con una de 220 ohmnios es suficiente).
- VO es el contraste de la pantalla, debe conectarse con un potenciometro de unos 10k ohms o una resistencia fija una vez que encontremos el valor deseado de contraste. Tengan en cuenta que si no conectan esto, no verán nada.
- RS es el selector de registro (el microcontrolador le comunica a la LCD si quiere mostrar caracteres o si lo que quiere es enviar comandos de control, como cambiar posición del cursor o borrar la pantalla, por ejemplo).
- RW es el pin que comanda la lectura/escritura. En nuestro caso siempre estará en 0 (conectado a GND) para que escriba en todo momento.
- E es enable, habilita la pantalla para recibir información.
- D0~D3 no los vamos a utilizar. Como pueden ver la pantalla tiene un bus de datos de 8 bits, de D0 a D7. Nosotros solamente utilizaremos 4 bits, de D4 a D7, que nos servirán para establecer las líneas de comunicación por donde se transfieren los datos.
- A y K son los pines del led de la luz de fondo de la pantalla. A se conectará a 4 o 5 volts y K a gnd.
Preparación de las conexiones de la pantalla LCD 1602A
La pantalla LCD viene sin conectores por defecto. Hay dos soluciones para este problema: soldar cables o soldar pines macho de 2,54mm. He optado por la segunda opción por la comodidad que representa (menos cable y acoplan perfectamente con la breadboard).
Procederemos a la soldadura de los mismos, siendo el resultado el siguiente:
Conexión de la pantalla LCD a la breadboard
Circuito
Primero que todo, la pantalla necesitará ser alimentada. Conectaremos dos cables, uno al pin de la placa Arduino UNO +5V y otro al GND para conectarlos a las filas «+» y «-» de la breadboard.
Conexión: Arduino 5V –> fila +
Conexión: Arduino GND –> fila –
Ahora procederemos a la preparación del contraste de la pantalla LCD. Para ello haremos las siguientes conexiones mediante cables:
Conexión: fila GND (fila -) de la breadboard –> pin 1 de la LCD (VSS)
Conexión: fila 5V (fila +) de la breadboard–> pin 2 de la LCD (VDD)
Conexión: fila 5V (fila +) de la breadboard–> pin 15 de la LCD (A)
Conexión: fila GND (fila -) de la breadboard –> pin 16 de la LCD (K)
Para probar la correcta conexión, encenderemos la placa Arduino UNO mediante el cable USB al ordenador y veremos que la pantalla LCD se ilumina.
El siguiente paso es la introducción del potenciómetro, para ajustar el contraste de la pantalla. En mi caso he utilizado un potenciómetro de 50Kohmnios, pero uno de 10k también es válido. Lo conectaremos a la izquierda de la pantalla LCD sobre la breadboard y procederemos al cableado para la conexión de sus tres pines.
Conexión: primer pin del potenciómetro—> GND de la breadboard (fila -)
Conexión: pin de en medio potenciómetro –> pin 3 de la pantalla LCD (VO)
Conexión: tercer pin del potenciómetro—> 5V de la breadboard (fila -)
Cuando la placa Arduino esté alimentada (conexión USB-PC), se verá por pantalla caracteres en forma de cuadrado en la fila de arriba. Prueba a ajustar con el potenciómetro y verificar que todo funciona correctamente.
En el próximo paso, vamos a conectar la pantalla LCD a la placa Arduino UNO para que se pueda mostrar el mensaje de texto que queramos.
Conexión: pin 4 de la LCD (RS)—> pin 7 del arduino (salida digital, PWM)
Conexión: pin 5 de la LCD (RW) –> GND de la breadboard (fila -)
Conexión: pin 6 de la LCD (E)–> pin 8 de la placa Arduino UNO (PWM)
Conexión: pin 11 de la LCD (D4)–> pin 9 de la placa Arduino UNO (PWM)
Conexión: pin 12 de la LCD (D5)–> pin 10 de la placa Arduino UNO (PWM)
Conexión: pin 13 de la LCD (D6)–> pin 11 de la placa Arduino UNO (PWM)
Conexión: pin 14 de la LCD (D7)–> pin 12 de la placa Arduino UNO (PWM)
El código
Ahora hay que escribir el siguiente programa y transmitirlo a la placa Arduino UNO.
#include <LiquidCrystal.h>
LiquidCrystal lcd(7, 8, 9, 10, 11 , 12);
void setup() {
lcd.begin(16, 2);
lcd.setCursor(0,1);
lcd.write(«El cajon de Ardu «);
}
void loop() { }
Cuando el código esté cargado y ejecutándose, la pantalla LCD mostrará el texto de esta forma:
Comentarios
Problema: Al transferir el programa y estando las conexiones aparentemente bien, por pantalla sólo mostraba los caracteres cuadrados, sin mostrar el mensaje que yo quería.
Solución: El potenciómetro tenía las conexiones del revés.
Se pueden cambiar los pines digitales que se van a usar de arduino (en nuestro caso hemos utilizado del 7 al 12).
En la orden «lcd.begin()» definimos el tamaño de nuestra pantalla LCD, en nuestro caso 16×2.
En la orden «lcd.setCursor()» escogemos dónde escribimos, siendo (0,0) para escribir en la fila de arriba y (0,1) en la fila de abajo.
En la orden «lcd.witre(» «)», escribimos el texto a mostar en pantalla.
¡Y hasta aquí el tutorial!
Os animamos a subir vuestros vídeos del tutorial funcionando en nuestro Facebook o
nombrándonos en Twitter.
P.
ez mhuy dyfychil
tienes razon
hez hunna hcakha
Tiene 16 pines y el primero de izquierda a derecha es el pin de tierra. El segundo pin es el VCC al que conectamos el pin de 5 voltios en la placa Arduino. El siguiente es el pin Vo en el que podemos conectar un potenciómetro para controlar el contraste de la pantalla.
A continuación, el pin RS o el pin de selección de registro se utilizan para seleccionar si enviaremos comandos o datos a la pantalla LCD. Por ejemplo, si el pin RS está configurado en estado bajo o cero voltios, entonces estamos enviando comandos a la pantalla LCD como: coloque el cursor en una ubicación específica, borre la pantalla, apague la pantalla, etc. Y cuando el pin RS se establece en estado alto o 5 voltios, estamos enviando datos o caracteres a la pantalla LCD. Puede leer más sobre esto en https://electronica.guru/questions/21700/pic-18f4685-y-hitachi-44780-lcd
Gracias
laik buen hombre
Gracias amiko
#include
#define tam 18
String cadenaOriginal = "HELADERIA AURORA -";
String cadenaSobrante = "";
String cadena = "";
String cadenaFinal = "";
int i, resta;
LiquidCrystal lcd(4, 6, 11, 12, 13, 14);
void setup()
{
lcd.begin(16,2);
lcd.setCursor(0,0);
lcd.write(cadenaOriginal.c_str());
}
void loop()
{
lcd.setCursor(0,1);
lcd.write("Tu heladeria…");
for(i = 0; i < tam; i++)
{
resta = tam – i;
cadena = cadenaOriginal.substring(0, resta);
lcd.setCursor(0,0);
cadenaSobrante = cadenaOriginal.substring(resta, tam);
cadenaFinal = "";
cadenaFinal.concat(cadenaSobrante);
cadenaFinal.concat(cadena);
lcd.write(cadenaFinal.c_str());
delay(300);
}
} // fin del loop
Gracias
Tengo mi LCD pero sin potenciómetro, y al momento de correr el código solo cambia de intensidad de la luz sin qué aparezca nada de letras. Es por la falta de potenciómetro?
Puedes usar una salida Analógica del arduino y conectarla al pin 3:
Declarando el pin A0 como salida analogica
pinMode(A0,OUTPUT);
para mandar:
analogWrite(A0,130;
Puede ser
gracias
ayudaaaa no funciona solo muestra los cuadrados
ya conecte todo bien y no funcionaaaa
necesito de su ayuda porfavor no muestra el texto
HOLa, donde has puesto el codigo