En este artículo ejecutaremos un test usando la plataforma Arduino IDE para comprobar el correcto funcionamiento de las entradas, salidas y relés de un ESP32 PLC 14 IOs.
Configuración de Arduino IDE para el ESP32 PLC 14
Antes de continuar, asegúrate de que utilizas la plataforma Arduino IDE y verifica que las placas y el modelo corresponden a tu ESP32 PLC 14. Para ello, Industrial Shields proporciona una placa adaptada a esta especificación.
- Instala la placa ESP32 de Industrial Shields en el Arduino IDE siguiendo estos pasos:
- Ve a Herramientas > Placa > Gestor de placas.
- Busca "industrialshields-esp32" en el Gestor de placas.
- Selecciona la placa en Herramientas > Placa > Industrial Shields ESP32 > 14 IOS PLC Family.
Sketch de test de E/S para el ESP32 PLC 14
Utiliza la plataforma Arduino IDE para ejecutar el siguiente código. Puedes descargarlo en un archivo inout_test.ino.
int i = 0;
int value;
void setup() {
Serial.begin(9600);
/* Digital outputs */
pinMode(Q0_0, OUTPUT);
pinMode(Q0_1, OUTPUT);
pinMode(Q0_2, OUTPUT);
pinMode(Q0_3, OUTPUT);
/* Digital/Analog outputs */
pinMode(I0_0, INPUT);
pinMode(I0_1, INPUT);
pinMode(I0_2, INPUT);
pinMode(I0_3, INPUT);
pinMode(I0_4, INPUT);
pinMode(I0_5, INPUT);
pinMode(I0_6, INPUT);
pinMode(I0_7, INPUT);
pinMode(I0_8, INPUT);
/* Relay output */
delay(33);
pinMode(R0_0, OUTPUT);
}
void outputsTest(void){
if (i == 0) {
digitalWrite(Q0_0, HIGH);
i++;
}
else if (i == 1) {
digitalWrite(Q0_1, HIGH);
i++;
}
else if (i == 2) {
digitalWrite(Q0_2, HIGH);
i++;
}
else if (i == 3) {
digitalWrite(Q0_3, HIGH);
i++;
}
else {
digitalWrite(Q0_0, LOW);
digitalWrite(Q0_1, LOW);
digitalWrite(Q0_2, LOW);
digitalWrite(Q0_3, LOW);
i = 0;
}
delay(1000);
}
void inputsTest(void){
if (digitalRead(I0_0)){
Serial.println("I0.0 HIGH");
}
else if (digitalRead(I0_1)){
Serial.println("I0.1 HIGH");
}
else if (digitalRead(I0_2)){
Serial.println("I0.2 HIGH");
}
else if (digitalRead(I0_3)){
Serial.println("I0.3 HIGH");
}
else if (digitalRead(I0_4)){
Serial.println("I0.4 HIGH");
}
else if (digitalRead(I0_5)){
Serial.println("I0.5 HIGH");
}
else if (digitalRead(I0_6)){
Serial.println("I0.6 HIGH");
}
else if (value = analogRead(I0_7)){
Serial.print("I0.7: ");
Serial.println(value);
}
else if (value = analogRead(I0_8)){
Serial.print("I0.8: ");
Serial.println(value);
}
}
void relayTest(void){
digitalWrite(R0_0, HIGH);
delay(500);
digitalWrite(R0_0, LOW);
delay(500);
}
void loop() {
outputsTest();
inputsTest();
relayTest();
}
Verificación de los resultados
Tras ejecutar el test, para verificar el funcionamiento observarás los LED alternando entre encendido y apagado. Además, mediante el monitor serie podrás confirmar las entradas comprobando si son verdaderas. Para entradas digitales verás una verificación como "I0.0 HIGH", mientras que para las entradas analógicas se mostrará "I0.8: valor", donde valor representa la lectura de la entrada analógica.

Prueba de entradas, salidas y relé en el ESP32 PLC 14