INFO
Los sistemas digitales embebidos como Arduino, Pic u otros trabajan únicamente con lógica binaria (0 y 1), es por eso que para “leer” los datos empleamos pantallas o displays alfanuméricos LCD. Esta pantalla te puede servir para hacer debugging o correcciones en tus distintos proyectos, sobre todo en el manejo de sensores y procesamiento de datos.
El LCD 1602 posee 2 filas y 16 columnas de dígitos alfanuméricos, funciona con el controlador interno HD44780, que es un integrado muy utilizado y para el cual existe amplia documentación. Para conectar la pantalla LCD a nuestro Arduino/PIC se necesitan 6 pines: 2 de control y 4 de datos. En cuanto a la programación en Arduino ya se incluye por defecto la librería LiquidCrystal, que incluye ejemplos de prueba.
Si bien es posible conectar directamente la pantalla LCD a nuestro Arduino, es una buena opción utilizar un Adaptador LCD paralelo a serial I2C y de esa forma ahorrar pines, trabajando con solo 2 pines del puerto I2C.
NOTA: Para controlar el contraste es necesario utilizar un potenciómetro de 10K (No incluido)
ESPECIFICACIONES TÉCNICAS
- Voltaje de Operación: 5V
- Interface de comunicación: Paralelo 4 u 8 bits
- Color Texto: Blanco
- Filas: 2
- Columnas: 16
TUTORIALES
PINES
Pin No | Función | Nombre |
1 | Tierra (0V) | Ground |
2 | Voltaje de Operación; 5V (4.7V – 5.3V) | Vcc |
3 | Ajuste de contrastes: mediante un potenciometro (no incluido, puede ser de 1k-10k) | VEE |
4 | Selección del registro, para 0 es comandos y en 1 es para datos | Register Select |
5 | Estado bajo para escribir y estado alto para leer el registro | Read/write |
6 | Envia datos a los pines de datos cuando recibe un flanco de bajada | Enable |
7 | Pines de datos 8-bit | DB0 |
8 | DB1 | |
9 | DB2 | |
10 | DB3 | |
11 | DB4 | |
12 | DB5 | |
13 | DB6 | |
14 | DB7 | |
15 | Backlight VCC (5V) | Led+ |
16 | Backlight Tierra (0V) | Led- |
CÓDIGO EJEMPLO
// Código de ejemplo uso LCD // www.makerschile.cl #include <LiquidCrystal.h> // Conexiones: // RS (LCD pin 4) con Arduino pin 12 // RW (LCD pin 5) con Arduino pin 11 // Enable (LCD pin 6) con Arduino pin 10 // LCD pin 15 con Arduino pin 13 // LCD pins d4, d5, d6, d7 con Arduino pins 5, 4, 3, 2 LiquidCrystal lcd(12, 11, 10, 5, 4, 3, 2); int backLight = 13; // pin 13 controla el encendido/apagado del backlight void setup() { pinMode(backLight, OUTPUT); digitalWrite(backLight, HIGH); // Enciende el backlight. Para apagar usar LOW en lugar de HIGH lcd.begin(16,2); // columnas y filas, usar 16,2. lcd.clear(); // pantalla en blanco lcd.setCursor(0,0); // Mover el cursor a la primera fila y primera columuna lcd.print("Makers Chile"); // Texto de muestra, modificable lcd.setCursor(0,1); // Mover Cursor a la segunda fila lcd.print("Electronica"); } void loop() { }