Saltar al contenido principal

Tutorial 1: Hola Mundo (Blink)

PrincipianteGPIOWindows VMESP32

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:

blink.aru
// 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
¿Por qué el pin 2?

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.

  1. Abre el Simulador GPIO desde el menú Config → Windows del IDE.
  2. Añade el pin 2 manualmente con el botón New GPIO y configúralo como salida digital.
  3. Asocia una tarjeta LED al pin 2 desde el panel de dispositivos.
  4. Haz clic en Run (o pulsa F5) para ejecutar el programa en la VM.
  5. Observa la consola de salida: verás los mensajes de println confirmando que el sistema ha arrancado correctamente.
  6. Mira la tarjeta LED en el simulador: el indicador se encenderá y apagará cada 500 ms. ¡Estás simulando hardware directamente en Windows!
Iniciando Hola Mundo...
Hardware configurado. Iniciando bucle...

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.

  1. Conecta tu ESP32 al puerto USB del PC.
  2. En JARU IDE, selecciona el puerto COM de tu placa desde el menú desplegable de la barra de herramientas.
  3. Haz clic en el botón Flash.
  4. Espera a que el proceso de flasheo termine — la consola mostrará el progreso.
  5. El LED físico de tu ESP32 empezará a parpadear exactamente igual que en el simulador.
El mismo código, dos entornos

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.