Cómo trabajar con una LCD usando I2C en la automatización industrial
Utilizar pantallas LCD mediante comunicación PLC I2C industrial
8 septiembre, 2020 por
Cómo trabajar con una LCD usando I2C en la automatización industrial
Boot & Work Corp. S.L., Marti Guillem Cura


Introducción

Una pantalla de cristal líquido (LCD) es una pantalla plana u otro dispositivo óptico de modulación electrónica que utiliza las propiedades de modulación de la luz de los cristales líquidos combinados con polarizadores. Es muy común utilizarlas para obtener y actualizar sistemas electrónicos y mostrar los resultados. En este blog vamos a hablarte de cómo usarlas con las comunicaciones I2C de su controlador PLC.

PLCs de Industrial Shields

Requisitos de hardware


¿Cómo conectarla?

Hay muchas pantallas de cristal líquido en el mercado; en este caso, utlizarás un DEM 16215 de 16x2 de tamaño y un módulo de interfaz I2C HW-061. Para el PLC industrial Arduino, te recomendamos un M-Duino 50RRA+ WiFi/BT

Proporcionarás una alimentación de 24V al PLC Arduino, que suministrará 5V para alimentar a la LCD. La pantalla tiene 16 pines pero solo usarás un total de 12 ya que trabajarás con una interfaz de 4 bits de longitud de datos. Los pines que usarás para los caracteres son los de 11 a 14.

Busca los pines de comunicación I2C en el lado del controlador Arduino ya que conectarás los pines SCL y SDA del PLC con los del módulo I2C. Luego usando el cable I2C conectarás la pantalla LCD. Dependiendo de tus componentes, consulta la documentación para conocer los pines a conectar entre la LCD y el módulo I2C.



Interfaz del software

Nuestros controladores industriales están programados con Arduino Ide, que es un software basado en el lenguaje C. También pueden programarse usando C directamente pero es mucho más fácil trabajar con Arduino IDE ya que proporciona muchas librerías que ayudan en la programación.

Industrial Shields proporciona placas para programar los PLCs. Básicamente, no necesitas definir los pines y si son entradas o salidas, ya que todo se configura automáticamente usando las placas. 

Para instalar las placas de Industrial Shields, este enlace te da todos los detalles:


Después de instalar las placas de Industrial Shields, añadirás la librería de Cristal Líquido de I2C que debe haber sido descargada previamente (ver requisitos). Para instalar la librería, la descargarás como un ZIP y luego seleccionarás la opción Sketch en el programa Arduino. A continuación, haz clic en Incluir biblioteca y Añadir librería .ZIP. Luego elige el Cristal Líquido I2C que has descargado y se configurará automáticamente.

La biblioteca de Cristal Líquido I2C usa una comunicación I2C, así que asegúrate de usar la biblioteca de Arduino Wire también.

Si no sabes la dirección de I2C con la que estás trabajando, revisa este post sobre cómo funciona un Escáner I2C. Conocer la dirección es el primer paso para trabajar correctamente con este proyecto.
Cómo trabajar con una LCD usando I2C

Código

Para funcionar correctamente, las bibliotecas Wire y LiquidCrystal_I2C deben estar incluidas.

#include <Wire.h> 
#include <LiquidCrystal_I2C.h>


Primero tienes que llamar a la siguiente declaración para crear la clase LiquidCrystal y establecer todas las configuraciones. Usted establecerá la dirección del dispositivo I2C y el número de filas y columnas de su LCD. Si la dirección I2C es desconocida, puede consultar nuestro post sobre cómo conocerla.

LiquidCrystal_I2C lcd(0x3F, 16, 2);


Cuando la pantalla se enciende, tiene una configuración por defecto, sin embargo, al reiniciar el Arduino no se reinicia la LCD, por lo que no puedes asumir que está en ese estado cuando se inicia un sketch (y llamas al constructor LiquidCrystal). Para establecer todas las configuraciones internas, debes llamar a la función de inicio antes de hacer nada.

lcd.begin();


La biblioteca de Cristal Líquido de I2C proporciona una amplia gama de opciones para trabajar con ella. Sin embargo, sólo utilizarás algunas ya que son las funciones más importantes para empezar a trabajar rápidamente. Para un uso más preciso, consulta toda la documentación de la biblioteca GitHub.

Las que usarás son las siguientes:

  • lcd.print(“  x  ”): Esta funcionará como la función de impresión, imprimiendo el texto en la pantalla LCD.

  • lcd.clear(): Limpiará la pantalla y pondrá el cursor en la posición cero.

  • lcd.setCursor(uint8_t col, uint8_t row): Pondrá el cursor en la posición que haya seleccionado.

  • lcd.backlight(): Encenderá la luz de fondo del LCD. 


A continuación aparecerá un código para ver cómo mostrar algún texto en la LCD:

#include <Wire.h> 
#include <LiquidCrystal_I2C.h>
// Set the LCD address to 0x27 for a 16 chars and 2 line display
LiquidCrystal_I2C lcd(0x3F, 16, 2);
void setup()
{
// initialize the LCD
lcd.begin();
// Turn on the blacklight and print a message.
lcd.backlight();
lcd.print("Industrial");
  lcd.setCursor(0,1);
  lcd.print("Shields!");
}
void loop(){}

¿Quieres pasarte al código abierto? 

Contáctanos y nuestro equipo te ayudará a encontrar la solución que mejor se adapte a tus necesidades.


Cómo trabajar con una LCD usando I2C en la automatización industrial
Boot & Work Corp. S.L., Marti Guillem Cura
8 septiembre, 2020
Compartir
Archivar

¿En busca de tu PLC ideal?

Echa un vistazo a esta comparativa de producto de varios controladores industriales basados en Arduino.

Comparamos entradas, salidas, comunicaciones y otras especificaciones con las de los equipos de otras marcas destacadas.


Comparativa PLC industrial >>

¿Quieres más información?

¡Rellena el formulario!

Tell me more!