Tutorial 1: Hola Mundo (Blink)
El primer paso en el mundo del hardware siempre es hacer parpadear un LED. En este tutorial aprenderás la sintaxis básica de JARU y descubrirás una de sus mejores características: escribir el código una vez y probarlo tanto en el simulador de Windows como en tu placa ESP32 física.
Lo que necesitas
- JARU IDE instalado en tu PC — puedes completar todo el tutorial solo con esto.
- (Opcional) Una placa ESP32 y un cable USB para el despliegue final.
Paso 1: El código
En JARU interactuamos con el hardware importando módulos. Abre JARU IDE, crea un nuevo archivo llamado blink.aru y escribe el siguiente código:
// Importamos el módulo GPIO para controlar los pines
use GPIO
println("Iniciando Hola Mundo...");
// 1. Configuración de pines
// Configuramos el pin 2 (donde suele estar el LED integrado) como salida
GPIO.pinmode(2, GPIO.OUTPUT);
println("Hardware configurado. Iniciando bucle...");
// 2. Bucle principal
while (true)
// Encender LED
GPIO.write(2, HIGH);
pause(500); // Esperamos 500 milisegundos
// Apagar LED
GPIO.write(2, LOW);
pause(500); // Esperamos otros 500 milisegundos
end
La mayoría de las placas ESP32 tienen un LED integrado conectado al GPIO 2. Si tu placa usa un pin diferente, cámbialo en la llamada a GPIO.pinmode.
Qué hace cada parte
use GPIO importa el módulo de entrada/salida de propósito general. Sin esta línea, las funciones GPIO.* no estarán disponibles.
GPIO.pinmode(2, GPIO.OUTPUT) configura el pin 2 como salida digital. Siempre hay que llamar a esta función antes de escribir en un pin.
GPIO.write(2, GPIO.HIGH) / GPIO.write(2, GPIO.LOW) encienden y apagan el LED escribiendo un nivel alto o bajo en el pin.
pause(500) detiene la ejecución durante 500 ms, creando el efecto de parpadeo.
Paso 2: Simulación en Windows
Una de las grandes ventajas de JARU es su Máquina Virtual integrada. Puedes ejecutar este código directamente en tu ordenador sin ningún hardware conectado.
- Abre el Simulador GPIO desde el menú Config → Windows del IDE.
- Añade el pin 2 manualmente con el botón New GPIO y configúralo como salida digital.
- Asocia una tarjeta LED al pin 2 desde el panel de dispositivos.
- Haz clic en Run (o pulsa
F5) para ejecutar el programa en la VM. - Observa la consola de salida: verás los mensajes de
printlnconfirmando que el sistema ha arrancado correctamente. - Mira la tarjeta LED en el simulador: el indicador se encenderá y apagará cada 500 ms. ¡Estás simulando hardware directamente en Windows!
- Consola de salida
- Simulador GPIO
Iniciando Hola Mundo...
Hardware configurado. Iniciando bucle...
El pin 2 aparecerá en la tabla con dirección Output y tipo Digital. La tarjeta LED mostrará el indicador alternando entre encendido y apagado cada medio segundo.
Paso 3: Despliegue en el ESP32
Una vez comprobado que la lógica funciona en el simulador, pasarlo al hardware real es cuestión de un clic. No necesitas cambiar ni una sola línea de código.
- Conecta tu ESP32 al puerto USB del PC.
- En JARU IDE, selecciona el puerto COM de tu placa desde el menú desplegable de la barra de herramientas.
- Haz clic en el botón Flash.
- Espera a que el proceso de flasheo termine — la consola mostrará el progreso.
- El LED físico de tu ESP32 empezará a parpadear exactamente igual que en el simulador.
Esta es la filosofía central de JARU: desarrollas y depuras en la VM de Windows, y cuando la lógica está verificada despliegas al hardware con total confianza.
Desafío extra
Cambia los valores de pause(500) a pause(100) y ejecuta el código primero en el simulador de Windows. Observa cómo el indicador del pin 2 parpadea mucho más rápido. Ahora flashéalo al ESP32 y comprueba el resultado en el mundo real.
¿Te atreves a ir más lejos? Prueba a hacer que el LED parpadee tres veces rápido y luego haga una pausa larga, como el código Morse de la letra S (· · ·).
Resumen
En este tutorial has aprendido a importar el módulo GPIO, configurar un pin como salida con GPIO.pinmode, escribir valores digitales con GPIO.write, usar pause para controlar el tiempo, y probar el mismo código en la VM de Windows y en un ESP32 real sin modificarlo.
El siguiente tutorial introduce la lectura de entradas digitales con botones e interrupciones.