Antes de programar: reconocer el ESP32
Antes del primer programa, reconoce las conexiones de tu placa y decide qué entradas y salidas utilizarás.
01 / Qué se pide resolver
Prepara una ficha del ESP32 clásico disponible en clase. Debe relacionar sus características con la conexión de sensores, visualizadores y actuadores, y justificar la selección de GPIO para una maqueta pequeña.
El punto de referencia es un módulo WROOM-32 de la familia ESP32 clásica. No traslades automáticamente sus características a C3, S2 o S3.
02 / Localizar los elementos de la placa
| Elemento | Qué debes localizar |
|---|---|
| Módulo ESP32-WROOM-32 | Encapsulado metálico y antena impresa del módulo. |
| Puerto USB | Por aquí llegan la alimentación y la programación, a través del conversor USB–UART incluido en la placa. |
| EN / RESET | Reinicia el microcontrolador. |
| BOOT | Interviene en la entrada al modo de descarga. |
| 3V3, GND y VIN / 5V | Identifica estos puntos en el esquema de tu modelo antes de elegir cómo suministrar energía por VIN. |
Ficha técnica de referencia
| Característica | ESP32 clásico |
|---|---|
| Procesamiento | El núcleo pertenece a la familia Xtensa LX6; según la variante puede haber uno o dos, con frecuencias de hasta 240 MHz. |
| Conectividad | Wi-Fi de 2,4 GHz y Bluetooth en el ESP32 clásico. |
| Lógica de GPIO | 3,3 V. No conectes directamente señales de 5 V. |
| Interfaces | Dispone de UART, SPI e I²C, además de PWM y funciones analógicas disponibles solo en determinados pines. |
| Memoria flash | La capacidad la define la combinación de módulo y placa, por lo que debe anotarse tras comprobar el modelo. |
03 / Justificar las conexiones
Filtra por la función que buscas. Esta selección se refiere al ESP32 clásico y descarta las conexiones que suelen dedicarse a la memoria flash.
| Uso | GPIO propuesto | Observación |
|---|---|---|
| OLED · SDA | 21 | Dato del bus I²C, configurable por software. |
| OLED · SCL | 22 | Reloj del bus I²C, configurable por software. |
| Sensor DHT22 · DATA | 27 | Entrada/salida digital; pull-up a 3,3 V. |
| LED externo | 25 | Salida digital con resistencia en serie. |
| Entrada analógica | 34 | Pertenece a ADC1 y admite únicamente entrada; necesita resistencias externas si se requiere pull-up o pull-down. |
| SPI · SCK / MISO / MOSI | 18 / 19 / 23 | Es una distribución frecuente, que debe verificarse con el periférico elegido. |
| GPIO 6–11 | No usar en esta práctica | Normalmente conectados a la memoria flash del módulo. |
| GPIO 0, 2, 5, 12, 15 | Precaución al arrancar | Son pines de configuración de arranque (strapping). |
Los GPIO34–39 son entradas sin resistencias internas de polarización. Para una medida analógica simultánea con Wi-Fi, revisa ADC1 y las restricciones de uso de ADC2.
04 / Observar una salida digital
Desconecta la alimentación para montar el LED: GPIO25, resistencia de 330 Ω, ánodo del LED y cátodo hacia GND. Después configura placa y puerto en Arduino IDE y carga la prueba:
const uint8_t LED_PIN = 25;
void setup() {
Serial.begin(115200);
pinMode(LED_PIN, OUTPUT);
Serial.println("Prueba de salida GPIO25");
}
void loop() {
digitalWrite(LED_PIN, HIGH);
delay(500);
digitalWrite(LED_PIN, LOW);
delay(500);
}Descargar ejemplo GPIO ↓El resultado previsto es una alternancia cada 0,5 s. Ante un fallo, verifica orientación del LED, retorno a GND, puerto de programación y GPIO seleccionado.
ADC, memoria y consumo
| Aspecto | Análisis para la práctica |
|---|---|
| CPU y RAM | La referencia clásica combina Xtensa LX6, hasta 240 MHz según versión y 520 KB de SRAM interna; la flash se identifica en el módulo concreto. |
| Wi-Fi y Bluetooth | El ESP32 original incorpora Wi-Fi 802.11 b/g/n en 2,4 GHz y conectividad Bluetooth clásico y BLE. |
| ADC | El convertidor SAR clásico puede entregar hasta 12 bits, equivalentes a 4096 códigos. Su escala depende de la atenuación y requiere calibración para relacionar con precisión código y tensión. |
| GPIO y buses | Las conexiones permiten UART, I²C, SPI, PWM y adquisición analógica; el diseño de la placa determina qué pines del chip pueden utilizarse. |
| Consumo activo | El dimensionamiento de la fuente debe cubrir los picos de CPU y radio. El consumo de reposo no basta para elegir el regulador. |
| Ahorro de energía | Los modos modem-sleep, light-sleep y deep-sleep desactivan funciones para reducir demanda. La corriente publicada para el chip en reposo no incluye necesariamente el LED y el puente USB de una placa completa. |
Conversión ilustrativa
En una conversión ideal cuyo rango fuese 0–3,3 V, el código 2048 correspondería aproximadamente a 2048 × 3,3 / 4095 = 1,65 V. En una medida física intervienen también la atenuación seleccionada, las tolerancias y la calibración.
Aplicación al despliegue IoT
Una estación a batería puede espaciar las medidas, desactivar periféricos y entrar en reposo entre adquisiciones. Al combinar LDR y Wi-Fi, conviene emplear ADC1 para no depender de ADC2 mientras transmite la radio.
05 / Comprobación y entrega
Reúne una fotografía con anotaciones, las características del modelo, seis o más pines justificados y el sketch que hayas probado, junto con las fuentes consultadas.