Faz algum tempo que conheci o Drum Buddy e achei a idéia muito legal, então pensei “E isso fosse feito com o Arduino?”.  Surgiu então a idéia de criar o Drum Buduino.

O principio de funcionamento é bem simples. No meu protótipo estou usando 3 sensores LDRs para captar a iluminação gerada por uma lâmpada que fica dentro do Drum Buduino, e esses valores são recebidos no Arduino e enviados para o Processing, onde utilizei a biblioteca Minin para gerar sons. Entre os LDRs e a Lâmpada tem um CD com alguns recortes que fica girando. Dessa forma a luz passa pelo recorte e quando o recorte encontra-se em baixo do LDR, um sinal é gerado.

Tenho que melhorar algumas coisas nele ainda, como colocar uma ponte H para controlar o motor, usar uma caixa maior pois a lâmpada esquenta muito, o que pode danificar os fios e ligar alguns potenciômetros e botões para controlar o software MIDI que está no computador.

, , ,

Para fazer o Arduino se comunicar com o Processing precisamos pegar a biblioteca que é responsável por criar o caminho de comunicação entre os dois. Para que a biblioteca funcione corretamente é necessário ter rodando no Arduino o firmware Firmata. É possível realizar a comunicação entre os dois fazendo uso da biblioteca Serial do Processing e do Arduino, mas isso da mais trabalho e não me parece elegante.

Faça o download da biblioteca e descompacte-a dentro da pasta libraries que se encontra na pasta Scketchbook do seu Processing. Agora abra a IDE do Arduino e faça o upload do exemplo que se encontra em: LIbrary-Firmata>StandardFirmata para a placa.

No Processing digite o seguinte exemplo para o teste inicial:

import processing.serial.*;
import cc.arduino.*;
 
Arduino arduino;
int ledPin = 13;
 
void setup()
{
    arduino = new Arduino(this, Arduino.list()[0]):
    arduino.pinMode(ledPin, Arduino.OUTPUT);
}
 
void draw()
{
    arduino.digitalWrite(ledPin, Arduino.HIGH);
    delay(1000);
    arduino.digitalWrite(ledPin, Arduino.LOW);
    delay(1000);
}

Rode este programa e se tudo ocorreu como planejado o led que está conectado no pino 13 do Arduino deve começar a piscar. Maiores detalhes sobre as funções da biblioteca do Processing podem ser encontradas na sua página no Arduino Playground.

Vamos começar a brincadeira!

Vou usar um circuito simples com LDR (Resistor Variável Conforme Incidência De Luz) que é mostrado na página 31 do Arduino Booklet

Read the rest of this entry

, , ,