Introducción

En este tutorial explicaremos como utilizar un los displays LCD (Liquid Crystal Display o Pantalla de cristal liquido) para, de manera muy sencilla mostrar diferentes caracteres que nos muestren mensajes o elementos visuales para nuestros proyectos con Arduino a través de una pequeña pantalla. Los displays LCD son faciles de encontrar en diversos formatos  (16×2 (16 caracteres x 2 líneas) o LCD 16×4 (16 caracteres x 4 líneas)) y son una opción muy sencilla de usar, y además, dan un toque muy profesional a vuestros proyectos, por lo que, en los últimos años los displays LCD han ganado mucha aceptación en productos comerciales de todo tipo.
lcdlcd1

 

Circuito eléctrico (diagrama de conexiones)

En el mercado se pueden encontrar numerosos modelos de displays LCD todos ellos basados en el mismo sistema de pines que se muestran en la imagen que se muestra (para más información se recomienda seguir las excelentes artículos de la página "El cajón de Ardu" o la de "Prometec")

lcd2
Pero si nos fijamos en el esquema anterior el montaje eléctrico del circuito (sin ser demasiado complejo) exige numerosos cables (ya que este componente tiene 16 pines que conectar). En nuestro proyecto hemos adquirido un tipo especial de display LCD que tiene soldado un driver que permite la conexión I2C. I²C (también lo verás escrito como I2C) es un bus de comunicaciones en serie que utiliza dos líneas para transmitir la información: una para los datos y por otra la señal de reloj. Como suelen comunicarse circuitos en una misma placa que comparten una misma masa, esta tercera línea no suele ser necesaria. En la mayoría de las placas Arduino, SDA (línea de datos) está en el pin analógico 4, y SCL (línea de reloj) está en el pin analógico 5 por lo que de este modo, con solo un par de pines ocupados, podemos montar un display LCD.
YWRobot LCM1602 I2C V1 Pinouts
El diagrama de conexiones es realmente trivial: basta con conectar Arduino A4 a SDA (Datos) y A5 a SCL (Clock), más GND (Tierra) y alimentación (5V).
lcd4

Código Arduino

Lo primero, es que descarguéis una nueva librería para manejar el display con I2C. Se llama LiquidCrystal_I2C (descargar) y es un añadido para la librería estándar que viene con tu Arduino.
Tras ello vamos a añadir la librería estandar que viene con Arduino para usar el bus I2C que se llama Wire (importar la librería directamente desde Arduino).
Con esto nos queda el siguiente código muy sencillo:
Arduino Code
  1. #include <LiquidCrystal_I2C.h>
  2. #include <Wire.h>
  3.  
  4. #define I2C_ADDR 0x27 // Dependiendo del LCD puede ser 0x27, 0x30, 0x3F
  5. LiquidCrystal_I2C lcd(I2C_ADDR, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);
  6. void setup()
  7. {
  8. // A continuación se usan funciones de la libreria LiquidCrystal y LiquidCrystal_I2C
  9. // Para mayor información se recomienda
  10. // LiquidCrystal: https://www.arduino.cc/en/Reference/LiquidCrystal
  11. // LiquidCrystal_I2C: https://playground.arduino.cc/Code/LCDAPI
  12.  
  13. lcd.begin (16, 2); // Se inicializa el display con 16 caraceres 2 lineas
  14. lcd.backlight(); // Se enciende la luz de fondo
  15. }
  16. void loop()
  17. {
  18. //-------- Escritura de caracteres en el display ------------------
  19. // NOTA: La posición del cursor se identidica por (columna, fila)
  20. lcd.setCursor(0, 0); // Comienza en la columna 1 fila 1
  21. lcd.print("Display LCD"); // Imprime por pantalla el texto
  22. lcd.setCursor(0, 1); // Salta a la columna 1 fila 2
  23. lcd.print("Bienvenidos");
  24. delay(2000); // Mantiene este texto durante 2 segundoS
  25. lcd.clear(); // Borra todos los caracteres de la pantalla
  26. lcd.print("Display LCD"); // Imprime por pantalla el texto
  27. lcd.setCursor(0, 1); // Salta a la columna 1 fila 2
  28. lcd.print("Tecno3ESO");
  29. delay(2000); // Mantiene este texto durante 2 segundos
  30. }

Código mBlock

Como sabemos mBlock es un software que combina la facilidad en la programación de Scratch con las posibilidades que ofrece en el mundo de la electrónica/robótica de Arduino
En este caso vamos existen dificultades para conseguir integrar el display LCD en mBlock de modo que funcione en modo Scratch (es decir, que permita la interacción entre el LCD y la pantalla de Scratch) y solo realizará su función si lo usamos en modo Arduino. No obstante, mBlock permite la posibilidad de añadir una librería de mBlock extension center (en este caso usaremos la librería LCD1602IIC o en caso de que no funcione correctamente la librería LCD with I2C interface). Pero, si surgen problemas adicionales a la hora de instalar la librería o mBlock no interactúa de manera adecuada con nuestro display LCD se recomienda leer el siguiente artículo que no deja cabos sueltos...
Una vez nuestro mBlock reconozca el display LCD, el código es muy sencillo.. En el ejemplo que se muestra a continuación hemos usado la librería LCD1602IIC para hacer que se muestre un sencillo mensaje de bienvenida que parpadea con un intervalo de 1 segundo...
codigomBlock
Spanish English French German Italian Portuguese Russian

Redes sociales

facebook iconotwitterGoogle plus iconpinterest

Artículos

TIC