Está en la página 1de 2

Tema 3: Disección de un sketch

En todos los programas que vamos a hacer para ESP32 nos encontraremos con dos bloques que siempre
van a estar presentes. Esto es común a la programación de cualquier microcontrolador que nos
encontremos. Estos dos bloques son los siguientes:

Por un lado tenemos las acciones que el dispositivo realiza cuando se está encendiendo. Éstas,
usualmente son acciones preparatorias o indicativas para el usuario de su correcto encendido
(pitidos, iluminación de LED, puesta en el modo anterior de funcionamiento, etc). Estas acciones
son las que se enmarcarán dentro de un “bloque” denominado setup().

Por otro lado, una vez que el dispositivo está listo para comenzar a realizar su tarea, comienza la
gestión de la misma. Esto siempre es una serie de acciones que se repiten indefinidamente,
hasta que decidamos apagarlo. Estas acciones se enmarcan dentro de un “bloque” llamado loop().

Para entender un poco mejor este concepto, podemos pensar en los siguientes ejemplos:

Aire acondicionado
Bloque setup():
• Realizar un pitido
• Encender LED
• Bajar deflector hasta su posición inferior
• Configurar temperatura y modo de trabajo según la última vez
Bloque loop():
• Leer temperatura
• Si la temperatura es menor que la establecida, arrancar bomba de calor
• Si la temperatura es mayor que la establecida, arrancar compresor de aire frío
• Comprobar si el usuario ha pulsado el mando a distancia
• Volver a repetir las cuatro líneas anteriores

Difusor automático de perfume


Bloque setup():
• Encender LED
• Esperar 10 segundos
• Activar motor para bajar el émbolo. Esperar 0,2 segundos y soltar émbolo
Bloque loop():
• Mirar si han pasado 10 minutos desde la última activación
• En caso negativo, esperar
• En caso afirmativo, activar el motor y poner el contador de tiempo a cero
• Volver a repetir las tres líneas anteriores

IoT con Arduino y ESP32 -12- Sindormir.net Formación


El siguiente código contiene el armazón básico que cualquier programa de Arduino debe contener. Su
ejecución en el ESP32 debe no producir ningún tipo de salida: Este código no hace absolutamente nada.

AVISO: El lenguaje de programación de Arduino (Wiring, basado en C++) requiere que la


sintaxis sea correcta. Cualquier fallo en la transcripción de los códigos al ordenador podría
ocasionar que el programa no verifique adecuadamente. ¡Cuidado con los puntos y comas!

1.- Escribir el siguiente código en el IDE de Arduino:


void setup() {
// Introducir aquí código que se ejecutará en el inicio
}

void loop() {
// Introducir aquí código que se ejecutará en bucle infinito
}
Código BareMinimum (File -> Examples -> 1. Basics -> BareMinimum)

2.- Compila el programa. Este paso no debe dar ningún fallo.

3.- Carga el sketch en la placa ESP32. Si todo va bien aparecerá el texto Subido en el área de
mensajes del IDE.

4.- Comprueba el comportamiento de la placa.

5.- Una vez comprobado que todo está en orden, intentemos comprender las partes de este código:
Se distinguen dos bloques: el setup y el loop. Por ahora ignoraremos el significado y uso
de las palabras void y de los símbolos ( y ). Cada uno de los dos bloques delimita su
contenido mediante las llaves de apertura { y cierre }. Todo el código que se encuentre
dentro de estos delimitadores pertenecerá a ese bloque, cuyo nombre da la palabra en
negrita (setup y loop en estos casos)

En este primer código, el único contenido que presenta cada uno de los bloques es lo que
se denomina comentario, que es todo texto que comienza con los caracteres // y que
indica al compilador que debe ignorar todo texto que aparezca a continuación de la marca
de comentario //. Otra forma de poner comentarios es mediante en uso de los símbolos /*,
que indica el comienzo de un comentario y */ que indica el final del comentario.

Todo código que pertenezca al bloque setup será ejecutado, como indica el comentario,
una única vez: durante el proceso de arranque del microcontrolador, mientras que el
código del bloque loop será procesado una y otra vez mientras el dispositivo continúe
alimentado.

6.- Cambia los comentarios // de este programa por comentarios de tipo /* [...] */

7.- Cambia el orden de los bloques, haciendo que el bloque loop esté antes que setup y comprueba
que el programa compila (verify) y que, al cargarlo (upload) en el ESP32, éste continua teniendo
el mismo comportamiento que antes de realizar el cambio.

IoT con Arduino y ESP32 -13- Sindormir.net Formación

También podría gustarte

  • Exa 2 Eva
    Exa 2 Eva
    Documento1 página
    Exa 2 Eva
    Jorge S
    Aún no hay calificaciones
  • Tema 2
    Tema 2
    Documento4 páginas
    Tema 2
    Jorge S
    Aún no hay calificaciones
  • Tema 0
    Tema 0
    Documento5 páginas
    Tema 0
    Jorge S
    Aún no hay calificaciones
  • Tema 1
    Tema 1
    Documento4 páginas
    Tema 1
    Jorge S
    Aún no hay calificaciones
  • Word 2007
    Word 2007
    Documento24 páginas
    Word 2007
    Jorge S
    Aún no hay calificaciones
  • Práctica Final
    Práctica Final
    Documento2 páginas
    Práctica Final
    Jorge S
    Aún no hay calificaciones
  • Practicas - Hoja 1 PDF
    Practicas - Hoja 1 PDF
    Documento1 página
    Practicas - Hoja 1 PDF
    Jorge S
    Aún no hay calificaciones
  • Cuadernillo de Lectura1
    Cuadernillo de Lectura1
    Documento3 páginas
    Cuadernillo de Lectura1
    Jorge S
    Aún no hay calificaciones