1
APLICACIONES DIGITALES CON EVENTOS DISCRETOS
WALTER FLORES C.
HELLEN SOLEDISPA A.
ELECTRÓNICA, INSTITUTO SUPERIOR UNIVERSITARIO SUCRE
2DO A NOCTURNA
ING. ANDRÉS GUANO
30 DE ABRIL DEL 2025
2
RESUMEN
En este documento, abordaremos la funcionalidad y versatilidad que poseen los
microcontroladores, en este caso haremos referencia al ESP32, mismo que posee una arquitectura
Harvard, lo que significa que posee memorias de instrucciones y datos, las cuales están separadas
para mejorar el rendimiento. Su diagrama de bloques muestra componentes esenciales como el
procesador Xtensa LX6, módulos de memoria SRAM y Flash, periféricos como GPIOs, ADCs y
comunicación inalámbrica mediante Wi-Fi y Bluetooth. Dentro de sus tipos de memoria, se
encuentran SRAM interna, Flash externa, EEPROM emulada y RTC RAM para datos de bajo
consumo.
En cuanto a su aplicación, permite diseñar e implementar desde sistemas básicos hasta los
más complejos, en este caso, implementamos un sistema de semáforo con LEDs verde, amarillo y
rojo, que se pueda activar y desactivar con un pulsador y cambiar entre modos normales e
intermitentes con un switch. También la creación de un sistema con juegos de LEDs controlados
por un dipswitch, donde cada combinación genera diferentes patrones de encendido y apagado,
mostrando los resultados en el puerto serial. Ambos proyectos aprovechan las capacidades del
ESP32 y permiten explorar su funcionalidad en programación y electrónica.
3
MARCO TEÓRICO:
Un microcontrolador es un dispositivo electrónico que puede ser programado para
realizar las acciones o instrucciones que nosotros deseemos. Este instrumento funciona de
manera similar a como lo haría un ordenador, pero tiene un tamaño menor, un coste más bajo y
suele utilizarse para tareas con enfoques más específicos. Está formado por los siguientes
componentes:
Elementos internos del microcontrolador
Los elementos internos de un microcontrolador son las partes integradas dentro del chip que
permiten su funcionamiento:
Unidad Central de Procesamiento (CPU): es el núcleo del microcontrolador y el encargado de
llevar a cabo las operaciones definidas por el programa almacenado en la memoria.
Memoria: un microcontrolador cuenta con dos tipos de memoria, la memoria RAM y la memoria
ROM, cada una de ellas encargada de una tarea específica.
RAM: almacena temporalmente los datos con los que trabaja el programa.
ROM: en contraposición, la memoria ROM se utiliza para almacenar de manera permanente el
programa que debe ejecutar el microcontrolador.
Oscilador: los microcontroladores incluyen un oscilador que produce pulsos a una frecuencia
determinada para sincronizar todas las funciones internas.
Elementos externos del microcontrolador
Los elementos externos de un microcontrolador son componentes y dispositivos que se conectan
a este desde fuera de su encapsulado y permiten la comunicación con el entorno externo:
4
Interfaz de comunicación: posibilitan la conexión y la comunicación con otros dispositivos, como
UART, SPI, I2C, USB, etc.
Periféricos de entrada/salida (E/S): permiten la interacción del microcontrolador con el mundo
exterior.
Temporizadores y contadores: los temporizadores y contadores de un microcontrolador se
utilizan para medir el tiempo y contar eventos, respectivamente.
Convertidores analógico-digitales (ADC) y digitales-analógicos (DAC): facilitan la transformación
de señales analógicas a digitales, y resultan fundamentales en aplicaciones que involucran la
medición de sensores y el control de actuadores.
INTRODUCCIÓN:
El ESP32 es un microcontrolador muy usado en proyectos de electrónica y programación
porque es potente y versátil. Su estructura interna incluye procesador, memoria y conectividad
inalámbrica, lo que permite desarrollar sistemas inteligentes. Entender cómo funciona ayuda a
crear proyectos como semáforos con LEDs y juegos interactivos, aprovechando sus capacidades
para controlar dispositivos de forma eficiente. Es una excelente opción para aprender sobre
programación embebida y diseño de circuitos.
5
MÉTODO:
Para desarrollar el tema propuesto sobre el ESP32 y su aplicación en sistemas de
semáforos y juegos de LEDs, se ha seguido un enfoque metodológico que combina teoría y
práctica.
Se inició con una fase de recopilación de información sobre el ESP32, analizando su arquitectura
interna mediante su diagrama de bloques, donde se identificaron componentes clave como el
procesador Xtensa LX6, los módulos de memoria y los periféricos integrados. También se
investigaron los tipos de memoria presentes en este microcontrolador, incluyendo SRAM interna,
memoria flash, EEPROM emulada y RTC RAM, para comprender su función en el almacenamiento
y ejecución de programas. Tal como lo muestra la figura 1.
Figura 1.
Pinout del ESP32
Nota: Adaptado de [Link]
6
Una vez establecida la teoría, se definieron los objetivos y requerimientos de los
proyectos:
- Sistema de semáforo con LEDs: Se establecieron los tiempos de encendido de cada color y se
diseñó la lógica para alternar entre los modos normal e intermitente mediante un pulsador y un
switch.
- Juegos de LEDs con dipswitch: Se diseñaron múltiples configuraciones de encendido y apagado
de LEDs según la combinación de los estados del dipswitch, asegurando que los resultados se
visualizaran en el puerto serial.
Se seleccionaron los componentes electrónicos adecuados, incluyendo el ESP32, LEDs,
resistencias, pulsadores y dipswitches, con su respectiva asignación de pines. Se esquematizó la
conexión del circuito para asegurar una correcta implementación.
Con el diseño definido, se procedió a la escritura del código utilizando el lenguaje C++ en el
entorno de desarrollo de Arduino IDE. Se configuraron los pines como entradas y salidas, y se
7
implementaron estructuras condicionales y bucles para garantizar el correcto funcionamiento de
cada sistema. Para el semáforo, se programó la secuencia de iluminación de los LEDs y el control
del sistema mediante interrupciones generadas por el pulsador. Ver figura 2.
Figura 2.
Programación Arduino IDE
Nota: Programación elaborada para correr sistema de semáforo en ESP32
8
En el caso de los juegos de LEDs, se implementaron funciones que interpretaban los
estados del dipswitch y ejecutaban patrones de iluminación con diferentes tiempos. Ver figura 3.
Figura 3.
Programación Arduino IDE
Nota: Programación elaborada para correr sistema de juegos de luces con LEDs.
Antes de realizar una implementación física, se empleó la plataforma Wokwi para simular
el comportamiento del código en un entorno virtual, verificando la correcta ejecución de los
programas y asegurando que los tiempos de encendido y apagado fueran precisos. Se realizaron
ajustes en el código según las observaciones en la simulación para mejorar la eficiencia y optimizar
9
la gestión de los estados de los componentes. Ver figuras 4 y 5.
Figura 4.
Simulación
Nota: Simulación del programa de semáforo en aplicativo web Wokwi
Figura 5.
Simulación
Nota: Simulación del programa de juego de luces con LEDs en aplicativo web Wokwi
10
Tras la simulación, se implementó físicamente el sistema en una placa ESP32 y se
realizaron pruebas para comprobar la correcta respuesta de los circuitos. Se registraron posibles
errores o inconsistencias y se hicieron ajustes en los tiempos y lógica del código para mejorar el
rendimiento. Finalmente, se documentó el proceso y se analizaron las posibles optimizaciones,
como el uso de interrupciones para mejorar la gestión de eventos en tiempo real. Ver figuras 6 y 7.
Figura 6.
Circuito de semáforo
Nota: Implementación física del programa de semáforo.
11
Figura 7.
Circuito de juego de luces con LEDs
Nota: Implementación física del programa de juego de luces con LEDs.
Este método garantiza una comprensión profunda del ESP32 y sus aplicaciones prácticas,
combinando el conocimiento teórico con la implementación real para obtener resultados
funcionales y eficientes.
12
RESULTADOS:
Los resultados obtenidos muestran que el ESP32 es una plataforma robusta para
proyectos de control y automatización. En el caso del semáforo con LEDs, el sistema cumple
correctamente con los tiempos de iluminación programados y permite alternar entre modos de
funcionamiento de manera eficiente. La integración del pulsador y el switch demuestra que el
ESP32 puede gestionar eventos en tiempo real y adaptarse a distintas condiciones de operación.
Por otro lado, con respecto al juego de LEDs con dipswitch, la implementación de diversas
configuraciones de iluminación confirma la flexibilidad del microcontrolador para manejar
múltiples entradas y salidas digitales. La respuesta en el puerto serial facilita la supervisión y ajuste
del sistema. La simulación en Wokwi ayudó a validar el comportamiento antes de la
implementación física, reduciendo errores y optimizando la ejecución del código.
Estos resultados reflejan la importancia de un diseño estructurado y el uso de herramientas de
simulación para garantizar la funcionalidad y eficiencia de los proyectos con ESP32.
REFERENCIAS:
Curso de IoT: Programación de Microcontroladores ESP32. (s/f).
[Link] Recuperado el 30 de abril de 2025, de
[Link]
¿Qué es un microcontrolador? (2024, octubre 23). [Link]. [Link]
es/think/topics/microcontroller
¿Qué es y cómo funciona un microcontrolador? (2024, mayo 6). Universidad Europea.
[Link]