Controlador de luz DMX com Arduíno

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.

A música de Suzanne Vega faz perder o brilho dos olhos

No SESC Carmo aconteceu a exposição Maquinações. Eu nem estava sabendo na época mas algumas pessoas que conhecem meu trabalho identificaram alguma relação e me avisaram. Fui visitar e gostei bastante de ter sido identificado naquele monte de máquinas sem uso e de estética bagunçada com as entranhas eletrônicas e mecânicas expostas.

Um dos artistas com trabalho exposto lá é meu mestre amigo Guto Lacaz. Falei com ele sobre a exposição e ele me colocou em contato com o curador e um dos cabeças do movimento da Gambiologia, o Fred Paulino.

O Fred me avisou que fariam uma oficina/workshop no SESC 24 de Maio no final do mês de Janeiro e fui lá conhecer a pessoa e o trabalho dos gambiólogos. Tinha me preparado apenas para ir trocar uma ideia, mas como o SESC e os gambiarrentos (Fred + Juliana Porfírio) estavam disponibilizando o espaço e muitos materiais, decidi me juntar aos participantes da oficina e desenvolvi um projeto.

O que desenvolvi foi muito para testar uma tecnologia que há algum tempo eu havia ouvido falar mas nunca havia conseguido ver funcionando na prática, que é o audio de samples no arduíno.

O jeito mais fácil de entender como funciona um áudio digitalizado foi apresentado muito bem pelo Bitluni neste vídeo e nos subsequentes. O primeiro mostra apenas como funciona um conversor digital-analógico usando ‘filtros resistivos’ do tipo R/2R. Como neste vídeo ele já mete um arduíno para apresentar mais facilmente seu estudo na prática, o próprio Bitluni prossegue no raciocínio e leva a pensar em como uma onda sonora pode ser digitalizada e enfiada dentro da fraca memória do arduíno.

Eu gostaria muito de usar o método apresentado por Bitluni para meu projeto, mas por uma limitação de tempo e material, não consegui… Só o citei aqui para poder levar a um lugar onde a explicação do desmantelamento da onda para caber na memória fraca fosse bem dada. O jeito foi pegar alguma coisa que estivesse mais pronta (ainda) e meter dentro do arduíno. Aí, pesquisando, cheguei na biblioteca Talkie. Algumas coisas me chamaram a atenção neste biblioteca: o fato dela usar apenas um pino de saída para o áudio e o fato dela já ter um vocabulário pronto. Aliás, esta biblioteca é cheia de características interessantes. Os áudios ridiculamente diminuídos de sua resolução original tem uma voz que faz arrepiar de medo do futuro putrefato. Eram usados em projetos da Texas Instruments, Atari e outras empresas deste tamanho. Mas o que mais me prendeu ao uso desta biblioteca foi o fato de haver nos exemplos de uso dela um áudio de uma música que gosto muito e costumo usar para testar áudios quando instalo algum equipamento de som: a belíssima Tom´s Diner, da Suzanne Vega, inteira.

Pois bem, meu projeto era uma cabeça de boneca que fazia alguma coisa com os olhos enquanto “cantava” Tom´s Diner. Mas não deu certo… Esta biblioteca usa todo o processamento do arduíno para conseguir colocar o áudio no alto-falante. Assim, enquanto tocava a música, eu não conseguia fazer os LEDs dos olhos da cabeça fazerem nada… )-:

Tive que adaptar meu projeto e o tempo estava curto então usei outro dos exemplos da Talkie e apenas adaptei alguma função para fazer uma graça nos olhos. Precisava ser um áudio mais curto, então o exemplo de voltímetro foi ótimo: o arduíno era instruído a seguidamente ler a tensão do pino 5, transformar o número em caracteres, procurar o áudio de cada caractere e “dizê-lo” seguido da palavra “milivolts”. Como este áudio é curto, consigo liberar o processamento para depois disso os LEDs RGB instalados nos olhos da cabeça fazerem alguma graça. Fiz 3 funções de gracinhas para os olhos e elas se alternam conforme a cabeça termina de dizer sua análise.

Por enquanto tem um vídeo disto no meu instagram, mas farei um melhor para pendurar aqui.