Projetores LED RGB Externos com DMX – Alta Performance e Custo Acessível
Componentes e Materiais
| Componente | Quantidade |
|---|---|
| Arduino Nano R3 | 1 |
| PCA9685 16 Canais PWM I2C (Adafruit) | 1 |
| PCBs Próprios | 1 |
Aplicativos e Serviços Online
- Arduino IDE
- Freestyler DMX Control
Sobre o Projeto
Projetores RGB controlados por DMX para uso externo são caros (200-300€ cada). Esta solução converte projetores LED RGB baratos com controle IR (≈8€/10W) para protocolo DMX, mantendo custo total de ~110€ para 5 unidades.
Arquitetura do Sistema
- 5 Projetores LED RGB: Cada um com PCB de fonte de corrente constante 3 canais (350mA/canal) e conector D-Sub 9. PCB cabe no compartimento inferior do projetor.
- Caixa Central: Contém:
- Fonte 12V 3.5A
- Carregador veicular 12V→5V
- Arduino Nano em PCB própria para conversão DMX (RS485)
- Extensão PWM 16 canais Adafruit (I2C)
- Receptor DMX sem fio
- PCBs de distribuição para cabos flat D-Sub
- Cola quente para vedação à prova d'água
O sistema sobreviveu a 3 semanas de chuva forte – a vedação mostrou-se eficaz.
PCB Universal para Projetos DMX
A PCB do Nano é universal: converte sinais DMX para Arduino, oferece breakout I2C e/ou 6 canais PWM com MOSFETs (BUZ11). Também usada para atualizar luminárias internas para DMX.
Resultado Final
5 luminárias controladas individualmente (para corrimão de vidro) via DMX sem fio a partir de PC/celular. Endereços DMX fixos: início no 200, 5×3 canais (R, G, B) sem canal dimmer. No sketch, canais vermelhos são atenuados (map 0-255 → 0-1400) pois LEDs vermelhos são mais brilhantes.
Código
Versão 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);
int channel[16], channelOut[16];
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);
// Inicializa PWM alto = LEDs desligados
for(int i=0; i<=14; i++) pwm.setPWM(i, 4096, 0);
}
void loop() {
for(int j=0; j<=14; j++) channel[j] = dmx_slave.getChannelValue(j+1);
// Ajuste de cor: reduz vermelho
channelOut[0] = map(channel[0], 0, 255, 0, 1400);
channelOut[1] = map(channel[1], 0, 255, 0, 4095);
channelOut[2] = map(channel[2], 0, 255, 0, 4095);
// ... repete para 5 luminárias (í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]);
}
}
Versão Entrada USB (Depuração)
Permite definir valores RGB diretamente via terminal do Arduino IDE para teste.
Definição para Freestyler
Arquivo de fixture definindo canais RGB para o software de controle no PC.
Esquemáticos
- Base Nano universal com entrada DMX e saída PWM/I2C
- Distribuidor 5×3 canais (15 PWM) com entrada 12V
- Fonte 3×350mA/12V com entradas PWM
Arquivos Eagle disponíveis nos downloads do projeto.
Processo de manufatura
- Construa Seu Próprio LUMAZOID: Visualizador de Música DIY com Arduino
- Sistema de Iluminação DMX Controlado via Web – Controlador Mestre Arduino
- Lâmpada de Mesa RGB Controlada por Gestos – Iluminação Interativa e Sem Toque
- Controlar um LED via Bluetooth com Arduino – Guia DIY Simples
- Construa um Robô Quadrúpede Inteligente com Arduino: Guia Passo a Passo
- Timer de Lavagem de Mãos com Arduino: Ferramenta DIY Simples para Combater a COVID‑19
- Misturador de Cores RGB com Arduino – Projeto DIY para Iniciantes
- Controlando Matriz de LED 8×8 com Arduino Uno: Guia Passo a Passo
- Dispositivo de Tratamento Radiônico EMR DIY com Arduino Nano
- Roleta de LEDs DIY: Jogo Arcade para Uma Pessoa com Arduino Nano