Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Manufacturing Technology >> Processo de manufatura

Projetores LED RGB Externos com DMX – Alta Performance e Custo Acessível

Componentes e Materiais

ComponenteQuantidade
Arduino Nano R31
PCA9685 16 Canais PWM I2C (Adafruit)1
PCBs Próprios1

Aplicativos e Serviços Online

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

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

Arquivos Eagle disponíveis nos downloads do projeto.

Processo de manufatura

  1. Construa Seu Próprio LUMAZOID: Visualizador de Música DIY com Arduino
  2. Sistema de Iluminação DMX Controlado via Web – Controlador Mestre Arduino
  3. Lâmpada de Mesa RGB Controlada por Gestos – Iluminação Interativa e Sem Toque
  4. Controlar um LED via Bluetooth com Arduino – Guia DIY Simples
  5. Construa um Robô Quadrúpede Inteligente com Arduino: Guia Passo a Passo
  6. Timer de Lavagem de Mãos com Arduino: Ferramenta DIY Simples para Combater a COVID‑19
  7. Misturador de Cores RGB com Arduino – Projeto DIY para Iniciantes
  8. Controlando Matriz de LED 8×8 com Arduino Uno: Guia Passo a Passo
  9. Dispositivo de Tratamento Radiônico EMR DIY com Arduino Nano
  10. Roleta de LEDs DIY: Jogo Arcade para Uma Pessoa com Arduino Nano