Componentes de la placa

La Placa de Entrenamiento ESP32 v3.0 es un shield para ESP32 WROOM-32 diseñado para enseñanza, prototipado rápido y proyectos IoT. Integra 8 módulos con un DIP switch de 8 posiciones que permite habilitar o deshabilitar cada módulo individualmente.

Cinco de los ocho módulos son completamente independientes. Los pines GPIO34 y GPIO35 (input-only) se usan para el potenciómetro y el sensor LM35, aprovechando el ADC de 12 bits del ESP32. El doble núcleo Xtensa LX6 a 240 MHz permite ejecutar WiFi y Bluetooth en un núcleo mientras el otro maneja los periféricos.

Vista superior de la placa de entrenamiento con sus componentes

LCD 2x16

Pantalla de cristal líquido de 2 filas y 16 caracteres. Sirve para mostrar texto, valores de sensores o mensajes al usuario.

También puedes recorrer las zonas con el tabulador y activarlas con Intro o la barra espaciadora.

Qué trae integrado

ComponenteCantidadPara qué sirve
ESP32 de 38 pines1El microcontrolador: WiFi, Bluetooth y USB-C
LCD 2x161Mostrar texto y valores
Display 7 segmentos4 dígitosContadores, relojes, temperaturas
LED individuales4Practicar salidas digitales
LED RGB1Mezcla de color con tres pines PWM
Pulsadores4Entradas digitales
Buzzer1Tonos y alarmas
Cabecera de expansión1Conectar sensores y módulos externos

Módulos incluidos

Cada módulo se habilita o deshabilita con su interruptor del DIP switch. Cinco son totalmente independientes; los otros tres comparten pines entre sí.

1

4x Push Buttons

GPIO36, GPIO39, GPIO0, GPIO2 — Pull-down R10K + debounce HW

Independiente
2

LED RGB (LEDC PWM)

GPIO13, GPIO14, GPIO21 — Ánodo común, 16 canales LEDC

Independiente
3

Buzzer Pasivo

GPIO26 (DAC2) — Driver 2N2222 + diodo flyback, LEDC tone

Independiente
4

Potenciómetro 5K

GPIO34 (input-only) — ADC1, 12-bit (0-4095)

Independiente
5

Sensor LM35

GPIO35 (input-only) — 10mV/°C, ADC1, capacitor 100nF

Independiente
6

LCD 2x16

GPIO4,5,18,19 (data), GPIO22 (RS), GPIO23 (EN)

Compartido
7

Display 7-Seg x4

Seg: GPIO22,23,25,27,33,16,17 | Dig: GPIO4,5,18,19

Compartido
8

4x LEDs

GPIO4, GPIO5, GPIO18, GPIO19 — Rojo, Amarillo, Verde, Azul

Compartido

Esquemáticos y conexiones

Esquemáticos v3.0 — Buzzer en GPIO26 (DAC2). POT en GPIO34, LM35 en GPIO35 (input-only). 7-Seg usa GPIO4,5,18,19 como dígitos (multiplexado directo). GPIO32 libre. Alimentación 3.3V.
1

LCD 2x16

Bus 4 bits — GPIO4,5,18,19 data | GPIO22(RS) GPIO23(EN)
ESP32 GPIO4 ----LCD Pin11(D4) ESP32 GPIO5 ----LCD Pin12(D5) ESP32 GPIO18 ----LCD Pin13(D6) ESP32 GPIO19 ----LCD Pin14(D7) ESP32 GPIO22 ----LCD Pin4 (RS) ESP32 GPIO23 ----LCD Pin6 (EN) GND -------------LCD Pin5 (R/W) TRIMPOT 10K------LCD Pin3 (V0) LiquidCrystal lcd(22,23,4,5,18,19);
2

7-Seg x4

Seg: GPIO22,23,25,27,33,16,17 | Dig: GPIO4,5,18,19
Segmentos (con R330 cada uno): GPIO25-[R330]-- Seg a GPIO22-[R330]-- Seg b GPIO23-[R330]-- Seg c GPIO33-[R330]-- Seg d GPIO27-[R330]-- Seg e GPIO16-[R330]-- Seg f GPIO17-[R330]-- Seg g Dígitos (multiplexado directo): GPIO4 -- Dig1 | GPIO5 -- Dig2 GPIO18-- Dig3 | GPIO19-- Dig4
3

Buzzer

Independiente
GPIO26 (DAC2) — LEDC tone
3.3V--[DIP SW3]--Buzzer(+) Buzzer(-)------Colector Q1(2N2222) ESP32 GPIO26-[R1K]-Base Q1 GND------------Emisor Q1 D1(1N4148) paralelo Buzzer ledcSetup(0, frecuencia, 8); ledcAttachPin(26, 0); ledcWriteTone(0, frecuencia);
4

LED RGB (LEDC)

Independiente
GPIO13, GPIO14, GPIO21 — Ánodo común, LEDC PWM
3.3V--[DIP SW7]--Ánodo Común RGB GPIO13(PWM)--[R330]--Cátodo R GPIO14(PWM)--[R330]--Cátodo G GPIO21(PWM)--[R330]--Cátodo B ledcWrite(canal, 255-valor); // Lógica invertida: 0=ON, 255=OFF // ESP32 LEDC: 16 canales PWM
5

POT 5K

Independiente
GPIO34 — Input-only, ADC1 12-bit
3.3V--[DIP SW5]--POT Pin1 POT Pin2(wiper)--ESP32 GPIO34 C1(100nF)--------GND POT Pin3---------GND analogRead(34) -> 0..4095 (12-bit) // GPIO34 es SOLO entrada (input-only)
6

4x Buttons

Independiente
GPIO36, GPIO39, GPIO0, GPIO2 — Independientes
3.3V--[DIP SW6]--+--SW1--GPIO36 +--SW2--GPIO39 +--SW3--GPIO0 +--SW4--GPIO2 Pull-down R10K a GND cada pin C 100nF debounce HW // GPIO0,GPIO2 = boot strapping
7

LM35

Independiente
GPIO35 — Input-only, ADC1 — 10mV/°C
3.3V--[DIP SW8]--LM35 Pin1(VS) LM35 Pin2(VOUT)-+--ESP32 GPIO35 C2(100nF)-------+--GND LM35 Pin3----------GND int raw = analogRead(35); float tempC = (raw*3300.0/4096.0)/10.0; // GPIO35 es SOLO entrada (input-only)
8

DIP Switch Config

5 independientes + 3 compartidos
SW1 -> LCD (GPIO4,5,18,19,22,23) SW2 -> 7-Seg (GPIO4,5,18,19,22,23,25,27,33,16,17) SW3 -> Buzzer (GPIO26) ✓ INDEP SW4 -> LEDs (GPIO4,5,18,19) SW5 -> POT (GPIO34) ✓ INDEP SW6 -> Buttons (GPIO36,39,0,2) ✓ INDEP SW7 -> RGB (GPIO13,14,21) ✓ INDEP SW8 -> LM35 (GPIO35) ✓ INDEP

Mapa de pines (pinout)

Pinout v3.0 — Pines GPIO del ESP32 WROOM-32. 5 módulos independientes. Solo LCD/7-Seg/LEDs comparten pines. GPIO32 libre para expansión futura.
PinESP32 FuncMóduloFunciónCompartidoEstado
GPIO36INPUT_ONLYButton 1DigitalInput-onlyIndep
GPIO39INPUT_ONLYButton 2DigitalInput-onlyIndep
GPIO0GPIOButton 3Digital/Boot0Indep
GPIO2GPIO/BOOTButton 4Digital/Boot2Indep
GPIO4GPIOLCD D4 / LED R / Dig1DigitalLCD↔LEDs↔7SegCompartido
GPIO5GPIOLCD D5 / LED Y / Dig2DigitalLCD↔LEDs↔7SegCompartido
GPIO18GPIOLCD D6 / LED G / Dig3DigitalLCD↔LEDs↔7SegCompartido
GPIO19GPIOLCD D7 / LED B / Dig4DigitalLCD↔LEDs↔7SegCompartido
GPIO25GPIO/DAC17-Seg Seg aDigital/DACSolo 7-Seg
GPIO13~PWM/LEDCRGB RojoPWMIndep
GPIO14~PWM/LEDCRGB VerdePWMIndep
GPIO21~PWM/LEDCRGB AzulPWMIndep
GPIO22GPIOLCD RS / 7-Seg Seg bDigitalLCD↔7SegCompartido
GPIO23GPIOLCD EN / 7-Seg Seg cDigitalLCD↔7SegCompartido
GPIO26DAC2/GPIOBuzzer (LEDC)Digital/DAC2Indep
GPIO32GPIO/ADC1LIBRE — ExpansiónDigital/ADC1Disponible
GPIO33GPIO/ADC17-Seg Seg dDigital/ADC1Solo 7-Seg
GPIO27GPIO/ADC17-Seg Seg eDigital/ADC1Solo 7-Seg
GPIO16GPIO/UART27-Seg Seg fDigital/UART2I2C / SPI
GPIO17GPIO/UART27-Seg Seg gDigital/UART2I2C / SPI
GPIO34INPUT_ONLY/ADC1POT wiperAnalog ONLYIndep
GPIO35INPUT_ONLY/ADC1LM35 VoutAnalog ONLYIndep

Por dónde empezar

Los ejemplos de la serie están pensados para esta placa. Un orden razonable si empiezas de cero:

  1. Instalar el Arduino IDE y configurar la placa y el puerto.
  2. Entender la estructura de un programa: setup() y loop().
  3. Encender y apagar LED, la primera salida digital.
  4. Leer botones, la primera entrada.
  5. Escribir en el LCD y en el display de 7 segmentos.
  6. Combinar colores con el LED RGB y generar tonos con el buzzer.