Este curso estĂ¡ diseñado para aquellos interesados en profundizar en el uso del microcontrolador ESP32, una herramienta poderosa y versĂ¡til en el desarrollo de proyectos electrĂ³nicos y de IoT. A lo largo del curso, aprenderemos a manejar entradas y salidas digitales, trabajar con señales PWM, leer entradas analĂ³gicas, gestionar interrupciones y utilizar diversos sensores. AdemĂ¡s, se explorarĂ¡ el uso del monitor serie para depuraciĂ³n, la gestiĂ³n de tiempo con funciones como millis()
y delay()
, el armado de librerĂas propias, la implementaciĂ³n de comunicaciĂ³n Bluetooth y la creaciĂ³n de mĂ¡quinas de estados para controlar el flujo de programas complejos. Este curso ofrece una combinaciĂ³n de teorĂa y prĂ¡ctica para poder desarrollar proyectos avanzados y personalizados.
Objetivos del Curso
- Comprender y manejar las entradas y salidas digitales del ESP32.
- Configurar y utilizar señales PWM para controlar dispositivos como motores y LEDs.
- Leer y procesar entradas analĂ³gicas utilizando el convertidor ADC del ESP32.
- Implementar y gestionar interrupciones para responder a eventos en tiempo real.
- Utilizar sensores diversos para la adquisiciĂ³n de datos en proyectos electrĂ³nicos.
- Depurar y monitorear el funcionamiento del ESP32 usando el monitor serie.
- Gestionar el tiempo de manera eficiente utilizando las funciones
millis()
ydelay()
. - Crear y utilizar librerĂas propias para organizar y reutilizar cĂ³digo.
- Configurar y emplear la conectividad Bluetooth para la comunicaciĂ³n inalĂ¡mbrica.
- Desarrollar mĂ¡quinas de estados para gestionar el comportamiento de programas complejos.
MĂ³dulo 1: IntroducciĂ³n a ESP32
- CaracterĂsticas tĂ©cnicas
- InstalaciĂ³n del entorno de desarrollo (IDE)
- ConfiguraciĂ³n de los drivers necesarios.
- Cargar y ejecutar un programa bĂ¡sico en el ESP32.
- Funciones principales:
setup()
yloop()
. - Sintaxis bĂ¡sica y estructura del cĂ³digo.
MĂ³dulo 2: Entradas y Salidas Digitales
- Entradas Digitales:
- ConfiguraciĂ³n de pines como entradas
- Lectura de estados HIGH y LOW.
- Ejemplos prĂ¡cticos con botones y sensores.
- Salidas Digitales:
- ConfiguraciĂ³n de pines como salidas.
- Control de LEDs y relés.
- Salidas de potencia con transistores
- Ejemplos de aplicaciones prĂ¡cticas.
MĂ³dulo 3: Control de flujo
- Uso de estructuras de control como
if
,else
,while
, yfor
. - Ejemplos de algoritmos con control de flujo.
- Aplicaciones prĂ¡cticas en el manejo de entradas y salidas.
MĂ³dulo 4: ModulaciĂ³n de ancho de pulso
- QuĂ© es PWM y cĂ³mo funciona.
- ConfiguraciĂ³n de frecuencias y ciclos de trabajo.
- Control de velocidad de motores.
- RegulaciĂ³n de brillo de LEDs.
- GeneraciĂ³n de señales analĂ³gicas simuladas.
MĂ³dulo 5: Entradas analĂ³gicas
- ConfiguraciĂ³n de pines analĂ³gicos.
- Uso del convertidor analĂ³gico-digital (ADC).
- Lectura de valores de sensores analĂ³gicos.
- Filtrado de datos
MĂ³dulo 6: InterrupcionesÂ
- QuĂ© son las interrupciones y cĂ³mo se utilizan.
- ConfiguraciĂ³n de interrupciones externas e internas
- Escritura de manejadores de interrupciĂ³n.
- Uso de interrupciones para eventos temporales y de hardware.
- DetecciĂ³n de eventos con un botĂ³n.
- MediciĂ³n de tiempo con interrupciones.
MĂ³dulo 7: Uso de sensores
- IntegraciĂ³n y lectura de sensores digitales.
- Uso de sensores analĂ³gicos para medir variables fĂsicas.
- Filtrado y procesamiento de datos.
- Descarga e instalaciĂ³n de librerĂas
MĂ³dulo 8: Manejo del tiempo
- Uso de
millis()
para medir intervalos de tiempo. - Diferencias entre
millis()
ydelay()
. - ImplementaciĂ³n de temporizadores y retardo no bloqueante.
MĂ³dulo 9: Desarrollo de librerĂas propias
- Estructura y organizaciĂ³n de una librerĂa.
- Archivos necesarios:
.h
y.cpp
. - CĂ³mo incluir y utilizar librerĂas en proyectos.
- OrganizaciĂ³n del cĂ³digo en mĂ³dulos reutilizables.
- Mejores prĂ¡cticas en el desarrollo de librerĂas.
MĂ³dulo 10: Conectividad Bluetooth
- ConfiguraciĂ³n del mĂ³dulo Bluetooth del ESP32.
- Uso de bibliotecas Bluetooth.
- Establecimiento de conexiones y transmisiĂ³n de datos.
- InteracciĂ³n con aplicaciones mĂ³viles.
- Conrol remoto de un dispositivo con Bluetooth
MĂ³dulo 11: Entradas touch
- Funcionamiento de entradas tĂ¡ctiles y sensores capacitivos.
- ConfiguraciĂ³n y lectura de entradas touch.
- Diseño de interfaces de usuario tĂ¡ctiles.
- ImplementaciĂ³n de controles de usuario interactivos.
MĂ³dulo 12: MĂ¡quinas de estado
- QuĂ© es una mĂ¡quina de estados y cĂ³mo funciona.
- Diseño de diagramas de estados.
- ImplementaciĂ³n de mĂ¡quinas de estados en cĂ³digo.
- Manejo de transiciones y estados.
- Control de un semĂ¡foro con estados.
- GestiĂ³n de modos de operaciĂ³n en un dispositivo.