ESP32 ¿Qué es y para qué sirve?
¿Qué es ESP32?
ESP32 nos permite estar conectados a internet todo el tiempo. Hoy en día es indispensable estar conectado a internet, hay ocasiones que necesitamos estar conectados 7/24 y si crees que estoy exagerando imagínate estar hospitalizado y requerir que sé se te monitorice 7/24 para evitar que mueras, pues precisamente para eso sirve ESP32. ESP32 es un dispositivo que pequeño, portátil y barato que permite estar monitorizando y actuando mientras estás conectado a internet (algo así como un teléfono, pero más, mucho más barato).
El ESP32 fue creado por Espressif Systems, además tiene algunos hermanos igual de baratos pero todos con la capacidad de conectarse a internet y con capacidad de conectarse vía Bluetooth. Para todos los que queremos desarrollar internet de las cosas (IoT) sin tener que estar armando complejos dispositivos, o sea, nos evitamos comprar que resistores, capacitares, microprocesadores y muchos otros elementos para evitar que nuestro componente se queme 😱.
Características
Por si fuera poco ESP32 nos ofrece muchas características que nos dan toda la confianza de poder conectar y empezar a trabajar.
Diseño robusto
ESP-32 funciona en entorno muy hostiles, con una temperatura de funcionamiento que oscila entre –40 °C y +125 °C. Alimentado por circuitos de calibración avanzados, ESP-32 es capaz de evitar que que imperfecciones en circuitos externos dañen al ESP-32.
Bajo Consumo de energía
Diseñado como un dispositivo móvil, portátil especialmente hecho para IoT, ESP-32 tiene un consumo de energía bajo con una combinación de varios tipos de software patentado. ESP-32 también incluye características de última generación, como activación de reloj de grano fino, varios modos de potencia y escalado dinámico de potencia.
Alto nivel de integración
ESP-32 está altamente integrado con interruptores de antena incorporados, balun de RF, amplificador de potencia, amplificador de recepción de bajo ruido, filtros y módulos de administración de energía. ESP-32 agrega funcionalidad y versatilidad invaluables a sus aplicaciones con requisitos mínimos de placa de circuito impreso (PCB).
Wi-Fi y Bluetooth híbrido
ESP-32 puede funcionar como un sistema independiente completo o como un dispositivo esclavo de una MCU anfitriona, lo que reduce la sobrecarga de la pila de comunicación en el procesador de la aplicación principal. ESP-32 puede interactuar con otros sistemas para proporcionar funcionalidad Wi-Fi y Bluetooth a través de sus interfaces SPI/SDIO o I2C/UART.
Integración con Arduino
En caso de que vengas de programar de Arduino, tu salto a la familia ESP-32 será transparente, ya que se imita muchas de sus funciones, incluso tiene la capacidad de trabajar con Arduino IDE.
Diferentes lenguajes de programación
Por si fuera poco ESP-32 puede ser programado en diferentes lenguajes de programación:
- (C) Arduino IDE
- (Python) MicroPython
- LUA
Para cambiar de un lenguaje a otro solo es necesario flashear nuestro dispositivo.
¿Qué vamos a hacer en este curso?
En este curso vamos a programar nuestro componente ESP-32 con el lenguaje C y usando Arduino IDE, así que debemos instalar ese entorno de programación como mostramos en el próximo tutorial. Además crearemos algunos ejercicios muy sencillos para conectar el ESP-32 con algunos módulos como los siguientes:
- Instalar ESP32 en Arduino IDE
- ESP32 Encender un led
- ESP32 PWM led
- Ingresar datos analógicos a ESP32 con un potenciómetro.
- Encender y apagar un led en ESP-32 con dos pulsadores
- Encender un led con un sensor de distancia en ESP-32
- Hacer girar un motor (servomotor) con ESP-32.
- Hacer girar un motor (servomotor) con ESP-32 con dos pulsadores.
- Hacer girar un motor (servomotor) con ESP-32 con un potenciómetro.
- Mostrar datos en un Display LCD 16×2 con ESP-32.
- Insertar datos en un Display LCD con pulsadores en ESP-32.
- Encender y apagar un Led con Bluetooth desde ESP-32
- Enviar datos con Pulsador vía Bluetooth con ESP-32
- Sensor de vibración con ESP-32
Lista de reproducción en YouTube de ESP32: https://www.youtube.com/watch?v=uUWOFP8V1WY&list=PLCTD_CpMeEKRDz5ISmZHaVR-4a64rzOKC&ab_channel=ProgramadorNovato