Introducción
En este post se muestra cómo conectar una pantalla LCD a un PLC basado en Arduino. En este post, se utiliza un modelo de LCD 2004A y un PLC de la familia Ardbox. Este ejemplo funcionará con cualquier PLC de la familia M-Duino.
Requisitos
Ethernet or 20 I/Os PLC: Ethernet PLC 20 I/Os PLC
Placas de Industrial Shields: Cómo utilizar los pines de mapeo de las placas Industrial shields
Potenciómetro de 20kohms y resistencia de 220 ohms.
Descripción
¿Cómo se conectan estos dispositivos?
A continuación, se muestra un diagrama eléctrico de cómo conectar el PLC basado en Arduino y las pantallas LCD:
Como se puede ver es necesario utilizar pines I2C y SPI, por lo que no se puede utilizar estas comunicaciones utilizando una pantalla LCD sin ningún controlador. Normalmente se recomienda utilizar la pantalla LCD con un controlador I2C. Desafortunadamente, el uso de estos pines no es posible utilizar algunas E/S del PLC. Echa un vistazo a cómo configurar los interruptores para saber qué E/S está deshabilitada.
Una vez que los dispositivos se establecen juts se requiere el software para que funcione correctamente. Para este post, se utiliza una Librería de Arduino muy útil llamada LiquidCrystal. LiquidCrystal permite que una placa Arduino o un PLC basado en Arduino controle LCD's basados en Hitachi HD44780 o un conjunto de chips compatible. La Librería funciona para el modo de 4 u 8 bits. En este post, como se puede ver en el cableado, se instala sólo con el modo de 4 bits.
¿Cómo se instala el software?
LiquidCrystal está incluido por defecto cuando instalas el IDE de Arduino. Así que sólo tienes que llamarlo en tu sketch. Ver más información sobre esta Librería AQUÍ. En las siguientes líneas se muestra un ejemplo sencillo de cómo utilizar la Librería LiquidCrystal:
#include <LiquidCrystal.h>
// initialize the library by associating any needed LCD interface pin
// with the arduino pin number it is connected to
const int rs = 2, en = 3, d4 = 7, d5 = 16, d6 = 14, d7 = 15;
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);
void setup() {
// set up the LCD's number of columns and rows:
lcd.begin(20, 4);
// Print a message to the LCD.
lcd.print("Screeno by IS");
}
void loop() {
// set the cursor to column 0, line 1
// (note: line 1 is the second row, since counting begins with 0):
lcd.setCursor(0, 1);
// print the number of seconds since reset:
lcd.print(millis() / 1000);
lcd.setCursor(3, 1);
lcd.print("s");
}
A continuación, se muestra el aspecto del LCD:

Cómo conectar una pantalla LCD a un PLC basado en Arduino