Close

Instalación ambilight basado en pantalla de juego

A project log for THE ULTIMATE MINI ARCADE

Classic arcade with all the latest technological advancements, ready for the classics. Enjoy!

srrubioSrRubio 09/01/2025 at 10:310 Comments

Guía completa: Iluminación LED con ESP32 + WS2812B + WLED + HyperHDR

https://kno.wled.ge/basics/getting-started/#welcome-to-the-wled-wiki

Sistema de retroiluminación LED reactiv@ para pantalla de 23.4 × 16.8 cm usando ESP32, tira WS2812B y HyperHDR.

📏 1. Cálculo de LED necesarios

Pantalla:

Tira seleccionada:

Cálculo:

Distribución proporcional:

🛠️ 2. Componentes necesarios

Controlador

Tira LED WS2812B

Alimentación

Electrónica

🔧 3. Montaje y conexiones

🚀 4. Flashear WLED en el ESP32

  1. Ir a https://install.wled.me desde Chrome

  2. Conectar el ESP32 por USB

  3. Flashear WLED

  4. Conectarse a red Wi-Fi WLED-AP

  5. Configurar tu Wi-Fi habitual (SSID + password)

  6. Apuntar la IP del ESP32 asignada por tu router

🚧 5. Configurar WLED (en navegador)

  1. Accede a la IP del ESP32

  2. En LED Preferences:

    • LED Count: 48

    • GPIO: 2

    • Type: WS281x

    • Color Order: GRB

💻 6. Instalar y configurar HyperHDR

Instalación

Configuración:

  1. Crear instancia LED

    • Tipo: WLED / UDP Raw

    • IP: IP del ESP32

    • Puerto: 19446 (por defecto)

    • LED Count: 48

  2. LED Layout:

    • Left: 10 LEDs

    • Top: 14 LEDs

    • Right: 10 LEDs

    • Bottom: 14 LEDs

  3. Captura de pantalla:

    • Fuente: Pantalla principal o ventana

    • Resolución: 320×240 o similar

    • FPS: 15–25

🚪 7. Encendido y funcionamiento diario

  1. Enciende la fuente de 5V (alimenta ESP32 y tira)

  2. ESP32 arranca solo (WLED)

  3. PC arranca HyperHDR (en segundo plano)

  4. HyperHDR captura pantalla y envía datos al ESP32 por Wi-Fi

  5. Tira LED reacciona en tiempo real

🚩 8. Mantenimiento y extras

Cómo hacerlo
Resetear ESP32 o desde WLED Web
En WLED Web GUI > LED Preferences
OTA desde WLED Web GUI
Desde HyperHDR
Entrar a IP del ESP32 y usar efectos WLED

Configuración de WLED en el navegador (ESP32)

0) Requisitos previos 

 El ESP32 ya tiene WLED flasheado. 

 El ESP32 está conectado a tu Wi-Fi. 

 Sabes la IP del ESP32 (si no, busca en tu router o app WLED).

1) Acceder a la interfaz de WLED

  1. Abre tu navegador en el PC.

  2. Escribe la IP del ESP32 en la barra de direcciones, por ejemplo:

    http://192.168.1.150/
    
    
    
  3. Verás la interfaz web de WLED.

Comprobación: si carga una página azul con opciones de color y menús, el ESP32 está funcionando.

2) Configurar parámetros de la tira LED

  1. En la interfaz de WLED, pulsa en Config (esquina superior).

  2. Ve a LED Preferences.

  3. Ajusta los valores básicos:

    • LED Count: 48
      → Número total de LEDs que tiene tu tira alrededor de la pantalla.

    • LED GPIO: 2
      → Pin físico del ESP32 donde conectaste la señal de datos (DIN).

    • LED Type: WS281x (WS2812B / compatibles).

    • Color Order: GRB (típico en WS2812B; si los colores se ven raros luego, prueba RGB o BRG).

  4. Pulsa Save abajo. El ESP32 se reiniciará y volverás al menú principal.

3) Opciones de protección recomendadas

En la misma página de LED Preferences, activa:

4) Pruebas básicas desde WLED

🔹 Prueba 1: Encender en blanco sólido

👉 Esto confirma:
✔ Alimentación correcta (si parpadea/apaga, revisa fuente o condensadores).
✔ GND común entre ESP32 y tira.

🔹 Prueba 2: Cambio de colores

🔹 Prueba 3: Efectos integrados

  1. En el menú principal, abre la pestaña Effects.

  2. Selecciona efectos como Rainbow o Candle.

  3. Observa la fluidez de la animación.

👉 Si notas saltos o parpadeos, revisa:

🔹 Prueba 4: Encendido LED a LED (opcional avanzado)

  1. En el menú Segments, crea un segmento de 1 LED.

  2. Haz que recorra desde el LED 0 al LED 47.

  3. Comprueba si cada LED enciende en el orden esperado (útil para confirmar el layout antes de HyperHDR).

5) Guardar y reiniciar

6) Checklist final de WLED


Instalación y configuración de HyperHDR en Windows — guía paso a paso

0) Requisitos previos (comprobar antes de empezar)

1) Descargar e instalar HyperHDR

  1. Abre el navegador y ve a: https://github.com/awawa-dev/HyperHDR/releases

  2. Descarga el instalador para Windows (archivo .exe o .msi) de la última release estable.

  3. Ejecuta el instalador (botón derecho → Run as administrator si quieres que cree reglas y servicios) y sigue el asistente: Next → aceptar licencia → Install.

  4. Al terminar, abre HyperHDR desde el menú inicio.

Comprobación: al abrir HyperHDR verás la interfaz web / ventana principal. Si no se abre, busca HyperHDR en la bandeja del sistema o en servicios.

2) Permitir tráfico UDP en el firewall (clave para WLED/UDP)

HyperHDR enviará paquetes UDP a tu ESP32 (puerto por defecto 19446). Si tienes firewall activo en Windows, crea la regla:

Abre PowerShell como Administrador y ejecuta (copia y pega):

# Permite UDP puerto 19446 (HyperHDR -> WLED)
netsh advfirewall firewall add rule name="HyperHDR UDP 19446" dir=out action=allow protocol=UDP localport=0 remoteport=19446

# Permite entrada UDP por si HyperHDR recibe respuestas (opcional)
netsh advfirewall firewall add rule name="HyperHDR UDP 19446 IN" dir=in action=allow protocol=UDP localport=19446


Si prefieres, abre el Firewall de Windows > Reglas de entrada/salida y añade reglas manualmente para el puerto UDP 19446.

Comprobación: no te dará salida, pero evita problemas de bloqueo al conectar con ESP32.

3) Preparación: abre la UI de WLED y confirma IP y parámetros

  1. En el navegador abre http://<IP_DEL_ESP32>/ (ej. http://192.168.1.150).

  2. Comprueba:

    • LED Count = 48

    • LED Type = WS281x

    • Color order = GRB (o el que corresponda)

  3. Anota la IP del ESP32 — la usarás en HyperHDR.

4) Crear instancia LED en HyperHDR (conectar a WLED)

  1. Abre HyperHDR (la ventana principal o la interfaz web, según tu instalación).

  2. Ve a Instancias / LED Devices / Add (o "Add Instance").

  3. Rellena los campos:

    • Tipo: WLED / UDP Raw (o WLED si hay esa opción).

    • IP: 192.168.xxx.xxx (la IP de tu ESP32).

    • Puerto: 19446 (por defecto).

    • LED Count: 48

    • Enable instance: marcar / activar la instancia.

  4. Guarda (Apply / OK).

Comprobación: en la lista de dispositivos aparecerá la instancia activa; puede mostrar "Connected" o similar.

5) Configurar LED Layout (mapear los 4 lados)

Objetivo: Left 10 / Top 14 / Right 10 / Bottom 14, con orden físico que acordamos.

  1. En HyperHDR entra a Configuration → LED Layout (o equivalente).

  2. Elige / crea un nuevo layout y pulsa Add element / Add strip / segment (o "Add" 4 veces) y configura cada uno:

    • Left

      • Tipo: Vertical

      • Amount / Count: 10

      • Orientation / Direction: Bottom → Top (empezando en la esquina inferior izquierda)

    • Top

      • Tipo: Horizontal

      • Count: 14

      • Orientation: Left → Right

    • Right

      • Tipo: Vertical

      • Count: 10

      • Orientation: Top → Bottom

    • Bottom

      • Tipo: Horizontal

      • Count: 14

      • Orientation: Right → Left

  3. Asegúrate de que la suma dé 48 y que el orden coincida con cómo has pegado la tira: empezando LED0 en la esquina inferior izquierda, subiendo por la izquierda, luego top, luego derecha, luego bottom.

  4. Guarda el layout.

Comprobación visual: HyperHDR suele mostrar un preview del layout; confirma que la numeración fluye en el orden físico.

6) Configurar captura de pantalla (capture settings)

Para que HyperHDR analice lo que sale en pantalla:

  1. Ve a Capture / Screen Capture.

  2. Crea una nueva fuente o elige “Screen” / “Monitor Capture”.

  3. Parámetros recomendados para juegos/RetroBat:

    • Fuente: Pantalla principal (selecciona el monitor donde se ejecuta RetroBat).

    • Captured area / Resolution: 320 x 240240 x 180) — más bajo = menos CPU.

    • FPS: 15–25 (recomendado: 20 FPS).

    • Crop / margins: ajusta para excluir barras o overlays si hace falta.

  4. Guarda.

Comprobación: en la UI de HyperHDR deberías ver una pequeña previsualización de la captura. Si está negra, comprueba que elegiste la monitor correcto o que la captura no está bloqueada por el juego (algunos juegos usan full-screen exclusive que dificulta la captura — si falla, prueba a ejecutar RetroBat en modo ventana o usar una captura “Desktop Duplication” si HyperHDR la soporta).

7) Ajustes de rendimiento y calidad

8) Probar conexión y correcto funcionamiento (test rápido)

  1. En WLED Web UI (ESP32) selecciona un color sólido (p.ej. verde) y observa si la tira lo muestra. Esto verifica que la tira y alimentación funcionan.

  2. En HyperHDR, con la instancia activa, ve a LED -> Test o usa la opción Set Color para mandar color de prueba desde HyperHDR.

  3. Abre un juego o reproduce un vídeo en el monitor capturado y observa si los LEDs reaccionan.

Checks rápidos:

9) Problemas comunes y soluciones rápidas

10) Poner HyperHDR para que arranque con Windows (opcional)

Opción A — Si el instalador creó un servicio: revisa Servicios (services.msc) y busca HyperHDR; si existe, configúralo en modo Automatic.

Opción B — Task Scheduler (si no hay servicio):

  1. Abre Task SchedulerCreate Basic Task...

  2. Pon nombre: Start HyperHDR → Trigger: At log on → Action: Start a program.

  3. Program/script: ruta al ejecutable de HyperHDR (p. ej. C:\Program Files\HyperHDR\HyperHDR.exe)

  4. Finish.

Comprobación: reinicia Windows y comprueba que HyperHDR esté activo.

11) Guardar / exportar tu configuración (backup)

12) Checklist final de validación (antes de dar por terminado)

Comandos útiles (copiar/pegar)

Permitir UDP 19446 en firewall (PowerShell/Admin):

netsh advfirewall firewall add rule name="HyperHDR UDP 19446 OUT" dir=out action=allow protocol=UDP remoteport=19446
netsh advfirewall firewall add rule name="HyperHDR UDP 19446 IN" dir=in action=allow protocol=UDP localport=19446


Ping al ESP32 (cmd):

ping 192.168.1.150


Abrir la UI de WLED (navegador):

http://192.168.1.150/


(ajusta la IP por la de tu ESP32)




Discussions