Estou começando a fazer um controlador de luzes com Arduíno. Primeiro construí um shield usando um circuito integrado MAX485 de acordo com este site. Mas estou usando outra biblioteca para acessar os canais. Usei a SimpleDMX e o seguinte código:
#include <DmxSimple.h>
bool aceso = true;
void setup() {
DmxSimple.usePin (1);
}
void loop() {
DmxSimple.write (1, 20); // R
DmxSimple.write (2, 0); // G
DmxSimple.write (3, 0); // B
if(aceso){
DmxSimple.write (4, 0); // R
DmxSimple.write (5, 0); // G
DmxSimple.write (6, 20); // B
aceso = false;
} else {
DmxSimple.write (4, 0); // R
DmxSimple.write (5, 0); // G
DmxSimple.write (6, 0); // B
aceso = true;
}
delay(3000);
}
Isso fez o primeiro fixture ficar sempre em vermelho e o segundo piscar em azul. Descobri que estes fixtures não fazem um bom strobo – eles demoram demais para perder o brilho então a próxima piscada perde a força.