Cómo trabajar con una LCD usando I2C en la automatización industrial

Utilizar pantallas LCD mediante comunicación PLC I2C industrial
8 de septiembre de 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 Hardware


¿Cómo se conecta?

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 de software

Nuestros controladores industriales se programan utilizando Arduino Ide, que es un software basado en el lenguaje C. También se pueden programar usando C directamente, pero es mucho más fácil trabajar con Arduino IDE, ya que proporciona muchas bibliotecas 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 Industrial Shields, este enlace lo explica todo: 


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

a librería I2C Liquid Crystal utiliza una comunicación I2C así que asegúrate de utilizar también la librería Arduino Wire.


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 poder 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.


Buscar en nuestro blog

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

¿Estás buscando tu Controlador Lógico Programable 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.


Industrial PLC comparison >>>