Sistema de Iluminación DMX Controlado por Web – Controlador Maestro Arduino
Componentes y materiales
| Componente | Cantidad |
|---|---|
| Arduino Mega 2560 | 1 |
| Arduino UNO | 1 |
| Shield DMX Master | 1 |
| Shield Ethernet Seeed Studio W5200 | 1 |
| LED (genérico) | 4 |
| Protoboard sin soldar medio | 1 |
| Cables de conexión (genéricos) | 1 |
| Resistencia 100 ohm | 4 |
| microSD Delkin Industrial SLC | 1 |
Herramientas y máquinas necesarias
- Soldador (genérico)
Sobre el proyecto
Hice este proyecto hace 5-7 años por la necesidad de un control más refinado de las luces que una caja preprogramada, mientras manejaba luces, sonido y gráficos de video para funerales, bodas y eventos en una ubicación auxiliar sin consola de luces dedicada. Al ser controlado desde un navegador web, podía manejar las tres tareas desde una sola computadora.
Al principio todo estaba en un Arduino UNO, pero no podía comandar los 512 canales y chocaba con límites de memoria y velocidad. Con Arduino Mega seguí teniendo problemas de memoria y no operaba de forma fiable. Así que separé las funciones de DMX y conectividad web en un Arduino dedicado cada uno. Finalmente, tras depurar problemas del shield Ethernet, tuve una plataforma estable para shows de luces en vivo, con escenas y fundidos.
Desarrollar la interfaz web front-end fue lo que más tiempo llevó, intentando hacerla lo más intuitiva posible.
Este proyecto ejemplifica:
- Comunicación Arduino-a-Arduino por SPI
- Operación del Controlador Maestro DMX TinkerKit
- Operación del Shield Ethernet y SD Card (por SPI) con servidor web
- Señalización y manejo de Interrupciones (IRQ)
- Resets internos
- Programación directa de pines de puerto
- EEPROM (para guardar configuración Ethernet)
- Gestión de memoria
El shield DMX TinkerKit venía sin conectores soldados. Solo soldé el de salida. También lo modifiqué desoldando la resistencia pull-up/down [RX Sel] para evitar conflictos con el Ethernet Shield cuando todo estaba en un microcontrolador, probablemente ya no necesario pero lo menciono por si acaso. El viejo Shield Ethernet SeeedStudio W5200 tiene un bug de hardware que requiere reiniciarlo al aplicar alimentación.
Si alguien tiene problemas replicando el proyecto (hardware/software/compilar) avíseme e intentaré ayudar.
Código
Archivo de proyecto para Arduino Mega
Extrae y compila para Arduino Mega. No funcionará correctamente en UNO e incluso podría bloquearlo. (Solo descarga)
Archivo de proyecto para Arduino UNO
Extrae y compila para Arduino UNO. (Solo descarga)
Recursos del Servidor Web
Extrae todos los archivos y cópialos en la microSD para instalar en el shield Ethernet. La microSD debe formatearse como FAT16. El archivo incluye dos ejecutables Windows: uno para subir archivos a la SD a través del Arduino Mega tras programarlo, y otro para enviar datos POST al Mega para pruebas y depuración. (Solo descarga)
Esquemático
Diagrama mostrando cómo conectar las placas Arduino, shields y LEDs indicadores de estado.
Proceso de manufactura
- Guía Profesional de Animación Bitmap en Pantalla Táctil ILI9341 2.4″ con Shield para Arduino
- Construye un Spybot controlado por Bluetooth con Arduino
- Mando USB para juegos DIY con Arduino – Construye tu propio gamepad de alto rendimiento
- Unopad: Controlador MIDI Arduino para Ableton Live sin complicaciones
- Arduino UNO + Shield WiFi: Visualización de Temperatura en Tiempo Real en Web vía Serial
- Protege tu Arduino con desbloqueo por patrón web: configuración fácil y control remoto
- Kit controlador para display fluorescente al vacío (VFD) basado en Arduino
- Controlador doméstico Arduino con Alexa: Automatización inteligente simplificada
- Focos LED RGB Exterior Controlados por DMX – Económicos y Alto Rendimiento
- Shield de Programación Inalámbrica para Arduino con HC-05 Bluetooth – Sin Cable USB
- Pantalla TFT Shield de Alto Rendimiento 2.8” para Arduino Nano – Display SPI 320×240