Controlador Probador Arduino DMX-512 – Kit Completo de Componentes para Control de Iluminación Fiable
Componentes y Suministros
| Componente | Cantidad |
|---|---|
| Arduino Mega 2560 | 1 |
| Potenciómetro Rotativo SparkFun 10k Ohm, Lineal | 1 |
| Pulsador Táctil SPST Off Momentary | 5 |
| LCD Básico 20x4 Caracteres SparkFun - Negro sobre Verde 5V | 1 |
| Transistor 2N2222A TO-18 NPN 75V 0.6A | 2 |
| Matriz de Teclas 4x4 | 1 |
| Transceptor MAX485 RS-485/RS-422 Bajo Consumo | 1 |
| Resistencia 330 ohm | 2 |
| Resistencia 1k ohm | 2 |
| Resistencia 120 ohm | 1 |
| LED 3mm Verde | 2 |
| Condensador 1 nF | 6 |
| Terminal Grande 3 Tornillos | 1 |
| Terminal Grande 2 Tornillos | 1 |
| Interruptor Deslizante 1 Polo, 2 Posiciones | 1 |
| Conector XLR 3 Pines PCB Mount Amphenol AC3FAH2-AU-PRE | 1 |
| Conector XLR 5 Pines PCB Mount Amphenol AC5FAH-AU-B | 1 |
| Header Macho 40 Posiciones 1 Fila (0.1") | 4 |
| Placa Fenólica 15 x 20 cm | 1 |
| Zócalo IC 8 Pines | 1 |
| Película Fotosensible PCB 30cm x 200cm | 1 |
Sobre el Proyecto
Herramienta de control para pruebas y espectáculos de luces mediante el protocolo DMX-512, ideal para tests rápidos en instalaciones de iluminación fijas o temporales. Este proyecto surge de la necesidad de disponer de un sistema portátil para pruebas rápidas sin necesidad de instalar consolas, interfaces o computadoras en entornos exteriores, hostiles o de difícil acceso.
Basado en:
- Arduino Mega 2560 Rev-3
- Librería Arduino cuatro universos DMX v0.3 - Deskontrol
- Librería LCD v1.2.1 - Francisco Malpartida
- Simulación Arduino en Proteus - Microcontrolandos
Hardware v0.4
Notas de versión:
- Compatible con Firmware v0.9 - v1.3
- LCD 4x20 con retroiluminación y contraste controlados por software
- Alimentación por USB, baterías o fuente externa
- Teclado de navegación + teclado 4x4
- Control analógico mediante potenciómetro
- Interruptor encendido/apagado (no aplica a alimentación USB)
- Salida DMX por bornas, XLR 3-pin y 5-pin
- LEDs de estado de salida DMX
- Simulación en Proteus V7.7 SP2
- Esquemático y PCB en Proteus v8.0 SP1
Esquemático

PCB

Simulador

Proceso de Construcción
Se utiliza una placa fenólica de una cara, se refuerza el cobre con lija de agua y aguarrás de forma circular. Con Proteus se envían los archivos para imprimir un negativo en acetato (existe un PDF con el archivo). Se emplea película fotosensible y una laminadora de papel para adherir perfectamente el PCB. Se añade un poco de agua entre la placa y el acetato para evitar movimiento y se aplica luz UV. Tras revelar con cloruro férrico, se limpia y se perfora la placa. Luego se sueldan los componentes, se ajusta el potenciómetro, se fija el teclado con cinta doble cara y se resuelven pequeños detalles de interferencia entre headers y flex del teclado. Finalmente se protege el puerto USB del Arduino Mega con cinta para evitar cortocircuitos y se carga el firmware.
Firmware v1.2
Características principales:
- Compatible con Hardware v0.3 - v0.4
- Navegación por cursor intuitiva y accesible
- Inserción rápida de valores desde teclado y potenciómetro analógico
- Bancos de memoria para 8 universos DMX
- Lectura desde EEPROM al inicio con universo DMX preseleccionado
- Control Unitario DMX: selecciona canal específico y muestra valores adyacentes
- Control Matriz DMX: muestra matriz 3x5 con valores de canales
- Control Chaser DMX: secuencia canales seleccionados con tiempo configurable
- Secuenciador DMX: secuencia entre universos guardados en EEPROM
- Control Multiplicar DMX: multiplica valores en canales seleccionados
- Función localizar luminaria desde canal seleccionado
- Acceso rápido a opciones de memoria
- Opciones memoria: Guardar, Cargar, Vaciar, Vaciar Todo (bancos y RAM)
- Función Black Out
- Control de iluminación y contraste LCD
- Accesos directos desde teclado para retroiluminación LCD
- Compilado con Arduino IDE v1.0.6
Código Fuente
El firmware completo está disponible en el repositorio GitHub. A continuación se muestra un extracto de la estructura principal:
// Librerías
#include <LiquidCrystal.h>
#include <Wire.h>
#include <EEPROM.h>
#include <string.h>
#include <lib_dmx.h> // Librería DMX 4 universos Deskontrol
// Configuración DMX
#define DMX512 (0) // Estándar USITT DMX-512 (250 kbaud, 2-512 canales)
// Pines y variables principales
int DMX_Values[515];
int Canal_Actual = 1;
// ... definiciones de pines para botones, LCD, potenciómetro, etc.
void setup() {
// Inicialización de pines, LCD, DMX, EEPROM
ArduinoDmx0.set_tx_address(1);
ArduinoDmx0.set_tx_channels(512);
ArduinoDmx0.init_tx(DMX512);
}
void loop() {
digitalWrite(2, HIGH); // MAX485 como salida
Back_Light_Init();
Contrast_Init();
GUI_About();
GUI_Memory_Init();
}
// ... resto de funciones: navegación menús, control DMX, EEPROM, etc.
Interfaz de Usuario
Memoria Inicial
Al arranque presenta opciones para establecer valores iniciales de RAM: Vacío (EEPROM intacta, canales a 0), Cargar (carga valores guardados), Limpiar (borra EEPROM y deja canales a 0).
Opciones de Control
- Memoria - Acceso a opciones de memoria
- Unitario - Acceso rápido a canal específico
- Matriz - Visualización 3x5 de valores de canales
- Chaser - Secuencia entre canales con retardo configurable
- Multiplicar - Asigna valor a múltiples canales con salto numérico
- Config - Ajustes del sistema (retroiluminación, contraste, About)
Funciones Especiales del Teclado
- Tecla *: Enciende/apaga retroiluminación LCD
- Tecla A: Establece valor 255 (máximo)
- Tecla B: Establece valor 0 (mínimo)
- Tecla C: Localiza luminaria (parpadeo canal entre 0 y 255)
- Tecla D: Entrada analógica vía potenciómetro
- Tecla #: Funciona como Enter en teclado numérico
Recursos Adicionales
- Repositorio GitHub: https://github.com/daniel3514/Arduino-DMX-512-Tester-Controller
- Librería DMX 4 universos: Deskontrol.net
- Librería LCD: Francisco Malpartida
- Simulación Arduino en Proteus: Microcontrolandos
Esquemáticos y Archivos CAD
Disponibles en el repositorio GitHub: esquemáticos, PCB (Proteus 8.0), y archivos de proyecto.
Proceso de manufactura
- Sistema de Iluminación DMX Controlado por Web – Controlador Maestro Arduino
- Pantalla LED Interactiva con Giroscopio, Anillo NeoPixel y Arduino
- Mando USB para juegos DIY con Arduino – Construye tu propio gamepad de alto rendimiento
- Unopad: Controlador MIDI Arduino para Ableton Live sin complicaciones
- Pixie: Reloj de pulsera NeoPixel basado en Arduino – Elegante reloj LED DIY
- Controla un Rover Arduino con Firmata y Mando Xbox One - Guía Completa
- Kit controlador para display fluorescente al vacío (VFD) basado en Arduino
- Dominando reconocimiento y síntesis de voz en Arduino Due
- Controlador doméstico Arduino con Alexa: Automatización inteligente simplificada
- Sistema Portátil de Vigilancia Remota con Cámara y Robot Móvil
- Guante Inteligente de Gestos a Texto para Lenguaje de Signos