0% encontró este documento útil (0 votos)
77 vistas11 páginas

Práctica Programación en ESP32

Cargado por

brandon
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
77 vistas11 páginas

Práctica Programación en ESP32

Cargado por

brandon
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 11

GESTIÓN DE LA FORMACIÓN PROFESIONAL INTEGRAL

PRÁCTICA DE LABORATORIO
Implementación y mantenimiento de sistemas de internet
Denominación del programa:
de las cosas
- Instalación y configuración de aplicación para programar
una placa de desarrollo basada en ESP32 utilizando Arduino
IDE.
Actividad Aprendizaje: - Desarrollar los códigos y programar los módulos ESP32
utilizando Arduino IDE.
- Validar los resultados de las implementaciones
desarrolladas.
Nombre de la práctica: Implementación de programas en módulos ESP32
Objetivo de aprendizaje de la Implementar programas de manejo y comunicación de
práctica: puertos en los módulos ESP32.
El desarrollo de la práctica de implementación de
programas en placas de desarrollo basada en ESP32,
permitirá al aprendiz desarrollar la habilidad para la
Descripción de la práctica:
creación de sus propios sistemas de gestión,
almacenamiento y procesamiento de datos sensoricos
requeridas para el desarrollo de sus sistemas IOT.
Software Arduino IDE, módulos ESP32, sensores,
Preparación (Recursos y medios):
Protoboard y equipo de cómputo.
6 horas de trabajo directo, 4 horas de trabajo
Tiempo de ejecución:
independiente.

Desarrollo de la práctica:
Para el desarrollo de esta práctica seguiremos los siguientes pasos:

a. Configuración de Arduino IDE para operar con placa de desarrollo basada en ESP32.
b. Descripción y caracterización de los Pinout GPIO ESP32.
c. Análisis de la situación problema.
d. Diseño e implementación del hardware requerido para la solución.
e. Diseño del programa e implementación en Arduino IDE.
f. Pruebas de funcionamiento y análisis de salidas obtenidas.

a. Configuración de Arduino IDE para operar con placa de desarrollo basada en ESP32

Como es de conocimiento el entorno de desarrollo integrado (IDE) de Arduino es una aplicación


multiplataforma (para Windows, macOS, Linux) que está escrita en el lenguaje de programación
Java. Se utiliza para escribir y cargar programas en placas compatibles con Arduino, pero también,
con la ayuda de núcleos de terceros, se puede usar con placas de desarrollo de otros
proveedores.1
Razón por la que continuaremos utilizando el Arduino IDE para programar las tarjetas de
desarrollo ESP32, pero para esto debemos desarrollar una configuración que permita la
compatibilidad del sistema con estas nuevas tarjetas, la cual veremos a continuación:

En primer lugar, vamos a ejecutar el IDE de Arduino haciendo clic en el acceso directo del
escritorio o escribiendo "Arduino" en el buscador de Windows.

Una vez ya dentro del programa, vamos a ir al menú "Archivo > Preferencias".

En la pantalla que se abre, vamos a pegar la siguiente URL dentro del campo "Gestor de URLs
adicionales de Tarjetas" y presionamos "Ok".

URL para pegar: https://dl.espressif.com/dl/package_esp32_index.json

A continuación, vamos al menú "Herramientas > Placa > Gestor de Tarjetas.

1
https://es.wikipedia.org/wiki/Arduino_IDE
En la ventana del gestor de tarjetas vamos a escribir ESP32, haremos clic en el resultado y
presionaremos "Instalar".

Una vez finalizado el proceso vamos al menú "Herramientas > Placa" y veremos que ya podemos
elegir entre diferentes placas basadas en la plataforma ESP32.
b. Descripción y caracterización de los Pinout GPIO ESP32

Configurado el Arduino IDE, tendremos un conjunto de placas disponibles para desarrollar,


compilar y subir los diferentes programas desarrollados, pero antes de iniciar con la programación
debemos conocer muy bien nuestro microprocesador ESP32 y la tarjeta de desarrollo que estemos
utilizando para utilizar de manera eficiente y eficaz cada uno de los puertos requeridos.
A continuación, podemos ver la tarjeta de desarrollo utilizada para las implementaciones, con sus
respectivos Pines o GPIO disponibles para el desarrollo de diferentes procesos:
Fuente: https://randomnerdtutorials.com/esp32-pinout-reference-gpios/

Con esta información se debe desarrollar un informe detallando las características y cuáles son los
pines que tienen determinadas funciones:

- Pines de solamente entrada.


- Pines Flash SPI.
- Pines táctiles capacitivos.
- Pines convertidores analógico a digital.
- Pines convertidores digital a analógico.
- Pines RTC.
- Pines PWM.
- Pines I2C.
- Pines SPI.
- Pines de con funciones de interrupciones.
- Otras funciones y sensor integrado.

c. Análisis de la situación problema


Con la información clara a nivel de puertos y sus funciones procedemos a la parte de análisis de la
situación problémica.

El problema está descrito por la necesidad una luz parpadeante cada determinado tiempo.

Teniendo claridad de este particular procedemos a establecer las necesidades del sistema:

¿Qué entradas se requieren?

De acuerdo con la situación problémica no tenemos entrada a nivel de hardware, pero si tenemos
una a nivel de software, la cual es el tiempo en el que se va a establecer la luz parpadeante, que de
acuerdo con el problema está será constante, por tanto, la podemos definir dentro de la
programación.

¿Cuál es la salida deseada?

La salida es a nivel de hardware, sido un dato booleano, simplemente un alto o bajo en uno de los
pines de salida que activará o apagará la luz.

¿Qué método produce la salida deseada?

La lógica o método de solución esta determinado por la espera un tiempo determinado para el
cambio del estado.

d. Diseño e implementación del hardware requerido para la solución

De acuerdo con las entradas y salidas se procede a establecer la configuración de los puertos
requeridos para la configuración, como se puede ver en el diagrama:

e. Diseño del programa e implementación en Arduino IDE


Partiendo de la lógica desarrollada procedemos al desarrollo del programa:

- Desarrollamos la definición de variables o constantes que se requieren en el programa,


para este caso utilizaremos una constante que definirá la salida del led.
- Luego configuramos en el SETUP el estado del puerto en modo salida, de acuerdo con el
requerimiento.
- Y por último en el ciclo LOOP procedemos a desarrollar la lógica de espera y activación del
led, colocando el pin en alto o bajo de manera secuencial de acuerdo con el tiempo
establecido.

f. Pruebas de funcionamiento y análisis de salidas obtenidas


Al implementar el sistema la respuesta debe ser en encendido y apagado del led en intervalos de
tiempos estables de 1 segundo, de esta fase debemos guardar evidencias del proceso.

Ahora, queremos mejorar el programa permitiendo que el usuario pueda variar el tiempo
retardo del led por medio de un potenciómetro, por tanto, debemos repetir los pasos c, d, e y f,
para resolver el problema:

c. Análisis de la situación problema

Con la información clara a nivel de puertos y sus funciones procedemos a la parte de análisis de la
situación problémica.

El problema está descrito por la necesidad una luz parpadeante donde el tiempo de parpadeo
dependerá de un potenciómetro conectado al dispositivo.

Teniendo claridad de este particular procedemos a establecer las necesidades del sistema:

¿Qué entradas se requieren?

De acuerdo con la situación problémica tenemos una entrada análoga, que proviene de la
variación de voltaje obtenida por medio de un potenciómetro, recordando que el movimiento de
este potenciómetro genera un cambio en el nivel resistivo y con este un cambio en la intensidad
de la tensión de referencia que medirá el dispositivo.

¿Cuál es la salida deseada?

La salida es a nivel de hardware, sido un dato booleano, simplemente un alto o bajo en uno de los
pines de salida que activará o apagará la luz.

¿Qué método produce la salida deseada?

La lógica o método de solución está determinado por la captura del dato analógico y posterior
cálculo de su valor decimal, lo que permitirá aumentar o disminuir el tiempo de para el cambio de
esto del pin de salida.

Por tanto, tendremos una conversión análoga digital y con el dato obtenido se configurará un
retardo de espera para la activación y desactivación de un led, por medio del envío de un dato
booleano al pin de salida del dispositivo ESP32.

d. Diseño e implementación del hardware requerido para la solución


De acuerdo con las entradas y salidas se procede a establecer la configuración de los puertos
requeridos para la configuración, como se puede ver en el diagrama:

e. Diseño del programa e implementación en Arduino IDE

Partiendo de la lógica desarrollada procedemos al desarrollo del programa:

- Desarrollamos la definición de variables o constantes que se requieren en el programa,


para este caso utilizaremos una constante que definirá la salida del led y otra para indicar
la entrada del potenciómetro, además de una variable para guardar el dato de conversión.
- Luego configuramos en el SETUP el estado del puerto en modo salida, y el pin del
potenciómetro como entrada, así como la configuración de la conversión a 12 bit para
tener mayor sensibilidad en la conversión análoga digital.
- Y por último en el ciclo LOOP procedemos a desarrollar la lógica de conversión análoga
digital y luego con ese dato desarrollamos la espera para la activación y apagado del led,
colocando el pin en alto o bajo de manera secuencial de acuerdo con el tiempo recibido
por la conversión análoga digital.
f. Pruebas de funcionamiento y análisis de salidas obtenidas

Al implementar el sistema la respuesta debe ser en encendido y apagado del led en intervalos de
tiempos que dependerán de la posición del potenciómetro, es importante recordar que el ciclo
activo del led es de medio segundo por tanto la variación es solo del ciclo inactivo, lo que debe dar
como resultado un efecto de aumentar o disminuir el tiempo de parpadeo del led, de esta fase
debemos guardar evidencias del proceso.
Ahora, el reto es que conectemos 3 potenciómetro y 6 led para crear secuencias diferentes con
las 3 entradas y las 6 salidas, de la siguiente forma:

- 3 salida con tiempo proporcional al dato de las 3 entradas de los potenciómetros.


- 3 salidas con tiempo inverso al dato de las 3 entradas de los potenciómetros.
Desarrolla el reto y da solución al problema realizando los pasos, c, d, e y f.

Referencias

Corona Ramírez, L. G. & Abarca Jiménez, G. S. (2019). Sensores y actuadores: aplicaciones con
Arduino (2a. ed.).. Grupo Editorial Patria.
https://elibro-net.bdigital.sena.edu.co/es/lc/senavirtual/titulos/121284

Roboti-k, F. (2021). Arduino, programación y robótica: rea proyectos paso a paso. 1. Difusora
Larousse - Anaya Multimedia.
https://elibro-net.bdigital.sena.edu.co/es/lc/senavirtual/titulos/215485

También podría gustarte