Skip to main content

Ejemplo 1

Requerimientos

Desarrollar una aplicación enviar comandos de manera serial para el control del encedido y apagado de un LED que se conecta en un ESP32.

Hardware

Como punto de partida es necesario determinar los componentes de hardware necesarios para la aplicación. La siguiente tabla resume la lista:

ElementoDescripcion
1Placa de desarrollo ESP32
2Led
3Resistencia de 330 Ohm

Luego, es necesario determinar como sera la conexión de los elementos de hardware que hacer parte del sistema a implementar (Archivo Fritzing: hardware.fzz). A continuación se muestra el esquemático asociado al circuito:

A continuación, se muestra el diagrama de conexión asociado al esquematico anterior:

La siguiente tabla resume las conexiones:

PuertoPinTipoNombreDescripción
10GPIO16OutputLIGHT1Puerto de control del LED

Software

Una vez definido el hardware, el siguiente paso consiste en determinar el software de acuerdo a los requerimientos que se dan. Para empezar, es necesario determinar los comandos que recibira la placa ESP32 para encender y apagar el led conectado a esta. Estos, se describen en la siguiente tabla:

ComandoDescripción
HComando empleado para encender el Led.
LComando empleado para apagar el Led.

Con los requerimientos claros, el codigo fuente a implementar en el ESP32 se muestra a continuación:

/* Entradas y salidas */
#define LIGHT1 26 // P26 (GPIO26)

/* Comandos */
#define LIGHT_ON 'H' // Luz encendida
#define LIGHT_OFF 'L' // Luz apagada

int cmd = 0; // Comnado entrado por serial

void setup() {
// Configuración de los puertos digitales
pinMode(LIGHT1, OUTPUT);
digitalWrite(LIGHT1, LOW);
// Configuracion del puerto serial
Serial.begin(9600);

}

void loop() {
// reply only when you receive data:
if (Serial.available() > 0) {
// read the incoming byte:
cmd = Serial.read();

// Encendido o apagado de la luz segun el comando
if(cmd == LIGHT_ON) {
digitalWrite(LIGHT1, HIGH);
Serial.println("Light -> ON");
}
else if(cmd == LIGHT_OFF) {
digitalWrite(LIGHT1, LOW);
Serial.println("Light -> OFF");
}
}
}

Despues de codificar el programa en el IDE y descargarlo en la placa ESP32, el siguiente paso consiste en probar su funcionamiento.

Pruebas

Una vez descargado el programa en el ESP, el siguiente paso consiste en probar el correcto funcionamiento del programa enviando comandos para lo cual se procede a realizar la prueba empleando el monitor serial del Arduino IDE (o empleando cualquier otra terminal serial [link]). La siguiente figura muestra este procedimiento:

serial_output

En la figura anterior, con la terminal serial a configurada a 9600 bps, si se envian los caracteres 'H' (prender luz) y 'L' y el led apaga y prende tal y como se espera, todo estará bien y la prueba estará completada.

Referencias