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


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

¬ŅBuscas 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.


Comparación PLC industrial >>>

¬ŅQuieres m√°s informaci√≥n?

¬°Rellena el formulario!

¬°Cu√©ntame m√°s!