Focos LED RGB Exterior Controlados por DMX – Económicos y Alto Rendimiento
Componentes y Suministros
- Arduino Nano R3 × 1
- PCA9685 16 Canales PWM I2C (Adafruit) × 1
- PCBs Propios (diseño personalizado) × 1
Aplicaciones y Servicios
- Arduino IDE
- Freestyler DMX Control (software PC)
Sobre el Proyecto
Convierte focos LED RGB baratos con control IR (≈8€/10W) en luces DMX profesionales. Una sola caja central con Arduino Nano, receptor DMX inalámbrico, PCA9685 y fuente de alimentación controla 5 focos mediante cables D-Sub 9.
Arquitectura
- Caja central: 12V 3.5A PSU, cargador 12V→5V, Arduino Nano en PCB propio (RS485), PCA9685, receptor DMX inalámbrico, PCBs de distribución, mucho pegamento térmico para estanqueidad.
- Cada foco: PCB de 3 canales PWM con fuente de corriente constante 350mA por canal, conector D-Sub 9. Cabe en el compartimento original del foco.
El sistema sobrevive a lluvia intensa (3 semanas probado). Direcciones DMX fijas: inicio 200, 5 focos × 3 canales (R,G,B) sin canal dimmer.
Corrección de Color
El LED rojo es más brillante; en el código se mapea su rango 0-255 a 0-1400 (vs 0-4095 de G/B) para lograr blanco equilibrado.
Código
Versión DMX
#include <Conceptinetics.h>
#include <Wire.h>
#include <Adafruit_PWMServoDriver.h>
Adafruit_PWMServoDriver pwm = Adafruit_PWMServoDriver();
#define DMX_SLAVE_CHANNELS 15
DMX_Slave dmx_slave(DMX_SLAVE_CHANNELS);
void setup() {
Wire.begin();
pwm.begin();
pwm.setPWMFreq(120);
#ifdef TWBR
uint8_t twbrbackup = TWBR;
TWBR = 12; // 400kHz I2C
#endif
dmx_slave.enable();
dmx_slave.setStartAddress(200);
// Apagar todos los canales
for (int i=0; i<15; i++) pwm.setPWM(i, 4096, 0);
}
void loop() {
for (int j=0; j<=14; j++) channel[j] = dmx_slave.getChannelValue(j+1);
// Mapeo con corrección de rojo
channelOut[0] = map(channel[0], 0, 255, 0, 1400); // R1
channelOut[1] = map(channel[1], 0, 255, 0, 4095); // G1
channelOut[2] = map(channel[2], 0, 255, 0, 4095); // B1
// ... repetir para 5 focos (índices 3-14)
for (int i=0; i<=14; i++) {
if (channelOut[i] == 0) pwm.setPWM(i, 4096, 0);
else pwm.setPWM(i, 0, 4095 - channelOut[i]);
}
}
Versión Depuración USB
Permite enviar LED, R, G, B por monitor serie para probar cada foco individualmente.
Esquemáticos y PCBs
- Base universal Nano con entrada DMX y salidas PWM/I2C
- Distribuidor 5×3 canales con entrada 12V
- Fuente 3×350mA/12V con entradas PWM
Archivos Eagle disponibles en el proyecto. Coste total 5 focos: ~110€ (componentes Reichelt, PCBs platinenbelichter.de).
Proceso de manufactura
- Construya su propio LUMAZOID: Visualizador de música DIY con Arduino
- Sistema de Iluminación DMX Controlado por Web – Controlador Maestro Arduino
- Lámpara de mesa RGB controlada por gestos – Iluminación interactiva y sin manos
- Controla un LED por Bluetooth con Arduino – Guía DIY paso a paso
- Construye un Robot Cuadrúpedo Inteligente con Arduino: Guía Paso a Paso
- Temporizador de Lavado de Manos con Arduino: Herramienta DIY Simple para Combatir el COVID‑19
- Mezclador de Colores RGB con Arduino – Proyecto DIY para Principiantes
- Control de Matriz LED 8×8 con Arduino Uno: Guía Paso a Paso
- Construye un dispositivo de tratamiento radiónico EMR con Arduino DIY
- Juego Ruleta LED DIY: Crea un Arcade para Una Persona con Arduino Nano
- Sistema de Aparcamiento Automatizado Inteligente con Arduino