¡Bienvenido a tu primera simulación con Velxio! En este tutorial, haremos parpadear el LED azul integrado en un ESP32 DevKit (GPIO2) y un LED rojo externo conectado a GPIO4. Este es el «Hola Mundo» de los microcontroladores: un proyecto sencillo que verifica que tu emulación ESP32 funciona correctamente.
Recorrido del circuito
Veamos el circuito. El ESP32 DevKit es el cerebro de nuestro proyecto. Tiene un LED azul integrado ya conectado a GPIO2, por lo que no necesitamos cablear ese. Para el LED externo, añadimos un componente de LED rojo desde el selector de componentes.

Así es como se cablea el LED externo:
- GPIO4 (pin 4 del ESP32) está conectado al ánodo (A) del LED rojo mediante un cable rojo (
#e74c3c). - El cátodo (C) del LED rojo está conectado a GND en el ESP32 mediante un cable oscuro (
#2c3e50).
¡Eso es todo! Solo dos cables para el LED externo. El LED integrado ya está en la placa.
Para añadir componentes y cables, usa la barra de herramientas del editor y la barra de herramientas del lienzo de Velxio:


Para explorar y colocar piezas como el LED rojo, abre el selector de componentes:

Recorrido del código
Ahora examinemos el código. Abre el editor de código en Velxio: verás el siguiente sketch de Arduino:
// ESP32 Blink LED
// Blinks the built-in LED (GPIO2) and an external LED (GPIO4)
// Requires arduino-esp32 2.0.17 (IDF 4.4.x) — see docs/ESP32_EMULATION.md
#define LED_BUILTIN_PIN 2 // Built-in blue LED on ESP32 DevKit
#define LED_EXT_PIN 4 // External red LED
void setup() {
Serial.begin(115200);
pinMode(LED_BUILTIN_PIN, OUTPUT);
pinMode(LED_EXT_PIN, OUTPUT);
Serial.println("ESP32 Blink ready!");
}
void loop() {
digitalWrite(LED_BUILTIN_PIN, HIGH);
digitalWrite(LED_EXT_PIN, HIGH);
Serial.println("LED ON");
delay(500);
digitalWrite(LED_BUILTIN_PIN, LOW);
digitalWrite(LED_EXT_PIN, LOW);
Serial.println("LED OFF");
delay(500);
}
Vamos a desglosarlo:
- Líneas 5-6: Definimos dos constantes:
LED_BUILTIN_PINcomo2(el pin del LED integrado) yLED_EXT_PINcomo4(el pin del LED externo). setup(): Iniciamos la comunicación serie a 115200 baudios, configuramos ambos pines como salidas e imprimimos un mensaje de listo.loop(): Encendemos ambos LEDs (HIGH), imprimimos «LED ON», esperamos 500 ms, apagamos ambos (LOW), imprimimos «LED OFF» y esperamos otros 500 ms. Esto crea un parpadeo continuo.
Conceptos clave
- Pines GPIO: Los pines de entrada/salida de propósito general se pueden configurar como entradas o salidas. Aquí los usamos como salidas para controlar LEDs.
pinMode(): Configura un pin comoOUTPUToINPUT.digitalWrite(): Establece un pin digital enHIGH(3.3V en ESP32) oLOW(0V).delay(): Pausa el programa durante un número determinado de milisegundos. Es una pausa bloqueante: el microcontrolador no puede hacer nada más durante ese tiempo.- LED integrado: Muchas placas de desarrollo tienen un LED conectado a un GPIO específico (a menudo GPIO2 en ESP32). Es una forma rápida de probar tu placa.
Errores comunes y consejos de depuración
- Número de pin incorrecto: Verifica que estás usando el número de GPIO correcto. El LED integrado está en GPIO2, no en GPIO1 o GPIO0.
- Polaridad del LED: Los LEDs tienen un ánodo (pata larga, positiva) y un cátodo (pata corta, negativa). En Velxio, el componente LED rojo tiene pines etiquetados como A (ánodo) y C (cátodo). Asegúrate de que el ánodo se conecta al GPIO y el cátodo a GND.
- Falta de tierra: Tanto el ESP32 como el LED externo deben compartir una tierra común. Nuestro cable conecta el cátodo del LED a GND.
- Monitor serie: Usa el Monitor Serie en Velxio para ver los mensajes «LED ON» y «LED OFF». Si no los ves, verifica la velocidad de baudios (115200) y que hayas abierto el monitor.
- ¿No parpadea?: Verifica que la simulación esté en ejecución (haz clic en el botón Ejecutar en la barra de herramientas). También comprueba que el código se compile sin errores.
Extensiones sugeridas
Una vez que tengas el parpadeo básico funcionando, prueba estas modificaciones:
- Cambia la velocidad de parpadeo: Modifica los valores de
delay()para que los LEDs parpadeen más rápido o más lento. - Parpadea solo un LED: Comenta una de las llamadas a
digitalWritepara que parpadee solo el LED integrado o solo el LED externo. - Añade un tercer LED: Coloca otro LED en GPIO5 y conéctalo. Actualiza el código para que parpadeen los tres en secuencia.
- Usa PWM para atenuar: En lugar de
digitalWrite, usaanalogWrite()para atenuar el brillo del LED (ESP32 admite PWM en la mayoría de los pines). - Añade un botón: Conecta un pulsador a un pin de entrada y haz que el LED se encienda solo cuando se presione el botón.
¡Pruébalo tú mismo!
¿Listo para parpadear? Abre el ejemplo en vivo en Velxio e inicia la simulación. Verás ambos LEDs parpadeando sincronizados. Experimenta con el código y el circuito: es la mejor forma de aprender.
Abre el ejemplo ESP32 Blink LED en Velxio
¡Feliz parpadeo!